Справка по Ассемблеру для AVR

MACRO - Начало макроса


С директивы MACRO начинается определение макроса. В качестве параметра директиве передаётся имя макроса. При встрече имени макроса позднее в тексте программы, компилятор заменяет это имя на тело макроса. Макрос может иметь до 10 параметров, к которым в его теле обращаются через @0-@9. При вызове параметры перечисляются через запятые. Определение макроса заканчивается директивой ENDMACRO.

По умолчанию в листинг включается только вызов макроса, для разворачивания макроса необходимо использовать директиву LISTMAC. Макрос в листинге показывается знаком +.

 

Синтаксис:

.MACRO макроимя

Пример:

.MACRO SUBI16                   ; Начало макроопределения

       

subi @1,low(@0)         ; Вычесть младший байт параметра 0 из параметра 1

       

sbci @2,high(@0)        ; Вычесть старший байт параметра 0 из параметра 2

.ENDMACRO                       ; Конец макроопределения

.CSEG                           ; Начало программного сегмента

       

SUBI16 0x1234,r16,r17   ; Вычесть 0x1234 из r17:r16



Содержание раздела