6.33.26 Атрибуты функций RL78
Эти атрибуты функций поддерживаются бэкендом RL78:
-
interrupt brk_interrupt-
Эти атрибуты указывают, что указанная функция является обработчиком прерывания. Компилятор генерирует последовательности входа и выхода функции, подходящие для использования в обработчике прерывания, когда этот атрибут присутствует.
Используйте
brk_interruptвместоinterruptдля обработчиков, предназначенных для использования с кодомBRK(т. е. тех, которые должны заканчиватьсяRETBвместоRETI). -
naked Этот атрибут позволяет компилятору создать необходимое объявление функции, при этом позволяя телу функции быть кодом ассемблера. Указанная функция не будет иметь пролога/эпилога, сгенерированных компилятором. Только базовые
asmоператоры могут безопасно включаться в оголённые функции (см. Основные команды ассемблера без операндов). Хотя использование расширенныхasmинструкций или смесь базовыхasmинструкций и кода C может казаться работающей, их надёжная работа не гарантируется, и их использование не поддерживается.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/RL78-Function-Attributes.html