6.33.23 Атрибуты функций NDS32 ¶
Эти атрибуты функций поддерживаются бэкендом NDS32:
exception-
Используйте этот атрибут на целевой платформе NDS32, чтобы указать, что указанная функция является обработчиком исключений. Компилятор сгенерирует соответствующие секции для использования в обработчике исключений.
interrupt-
На целевой платформе NDS32 этот атрибут указывает, что указанная функция является обработчиком прерываний. Компилятор генерирует соответствующие секции для использования в обработчике прерываний. Вы можете использовать следующие атрибуты для изменения поведения:
nested-
Данная процедура обработки прерываний прерывается.
not_nested-
Данная процедура обработки прерываний не прерывается.
nested_ready-
Данная процедура обработки прерываний прерывается после установки
PSW.GIE(глобальное разрешение прерываний). Это позволяет процедуре обработки прерываний завершить некоторые короткие критические участки кода перед разрешением прерываний. save_all-
Система поможет сохранить все регистры в стеке перед входом в обработчик прерывания.
partial_save-
Система поможет сохранить регистры вызывающей функции в стеке перед входом в обработчик прерывания.
naked-
Этот атрибут позволяет компилятору создать необходимое объявление функции, позволяя при этом использовать ассемблерный код в теле функции. Указанная функция не будет иметь пролога/эпилога, сгенерированных компилятором. В голых функциях можно безопасно включать только базовые
asmоператоры (см. Основные ассемблерные инструкции без операндов). Использование расширенныхasmоператоров или смешанного использования базовыхasmи C-кода может, на первый взгляд, работать, но нельзя полагаться на их надежную работу, и они не поддерживаются. reset-
Используйте этот атрибут на целевой платформе NDS32, чтобы указать, что указанная функция — обработчик сброса. Компилятор сгенерирует соответствующие секции для использования в обработчике сброса. Вы можете использовать следующие атрибуты для обеспечения дополнительной обработки исключений:
nmi-
Предоставьте пользовательскую функцию для обработки исключения NMI.
warm-
Предоставьте пользовательскую функцию для обработки исключения теплового сброса.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/NDS32-Function-Attributes.html