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