Spec-Zone.ru › GCC 9

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-9.5.0/gcc/M32R_002fD-Function-Attributes.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API