ВУЗ:
Составители:
add r0,@0 ; Тело макроса
eor r1,@1
.ENDMACRO ; Конец макроопределения
.LISTMAC ; Включить разворачивание макросов
MACX r2,r1 ; Вызов макроса (в листинге
; будет показано теломакроса)
.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
.ORG - Установить положение в сегменте
Директива ORG устанавливает счётчик положения равным
заданной величине, которая передаётся как параметр. Для сегмента
данных она устанавливает счётчик положения в SRAM (ОЗУ), для
сегмента программ это программный счётчик, а для сегмента EEPROM
это положение в EEPROM. Если директиве предшествует метка (в той
же строке) то метка размещается по адресу указанному
в параметре
директивы. Перед началом компиляции программный счётчик и счётчик
EEPROM равны нулю, а счётчик ОЗУ равен 32 (поскольку адреса 0-31
заняты регистрами). Обратите внимание что для ОЗУ и EEPROM
используются побайтные счётчики а для программного сегмента -
пословный.
Синтаксис:
.ORG выражение
Пример:
.DSEG ; Начало сегмента данных
.ORG 0x37 ; Установить адрес SRAM равным 0x37
variable: .BYTE 1 ; Зарезервировать байт по адресу 0x37H
.CSEG
.ORG 0x10 ; Установить программный
19
Страницы
- « первая
- ‹ предыдущая
- …
- 17
- 18
- 19
- 20
- 21
- …
- следующая ›
- последняя »