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