6.33.14 Атрибуты функций M32R/D
Эти атрибуты функций поддерживаются ядром M32R/D:
-
interrupt -
Используйте этот атрибут, чтобы указать, что указанная функция является обработчиком прерывания. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике прерываний, когда этот атрибут присутствует.
-
model (model-name) -
В M32R/D этот атрибут используется для установки адресации объекта и кода, сгенерированного для функции. Идентификатор model-name — это один из
small,medium, илиlarge, представляющих каждый из моделей кода.Объекты малой модели находятся в нижних 16 МБ памяти (чтобы их адреса можно было загрузить с помощью инструкции
ld24), и вызываются с помощью инструкцииbl.Объекты средней модели могут находиться в любом месте 32-битного адресного пространства (компилятор генерирует инструкции
seth/add3для загрузки их адресов), и вызываются с помощью инструкцииbl.Объекты большой модели могут находиться в любом месте 32-битного адресного пространства (компилятор генерирует инструкции
seth/add3для загрузки их адресов), и могут быть недоступны с помощью инструкцииbl(компилятор генерирует гораздо более медленную последовательность инструкцийseth/add3/jl).
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/M32R_002fD-Function-Attributes.html