ДИРЕКТИВА |
ОПИСАНИЕ |
ПРИМЕР |
Директивы
управления |
CONSTANT |
Определение
символьной константы |
constant cnt=255 |
#DEFINE |
Определение
текстовой последовательности для
замены |
#define snd portsnd, 1 |
END |
Конец блока
программы |
end |
EQU |
Определение
константы |
temp equ
0xF0 |
ERROR |
Сообщение о ошибке |
error "error line" |
ERROR LEVEL |
Установка типа
сообщений об ошибках в файле
листинга и файле ошибок |
errorlevel 1, -202 |
INCLUDE |
Вставить другой
файл источника |
include <addmain.asm> |
LIST |
Определение
формата (тип микроконтроллера,
количество символов в строке,
табуляция и многое другое см. MPASM
Help) или разрешает вывод, если было
предварительно запрещено |
list p=17c42, f=INHX32, r=DEC |
MESSG |
Создать
пользовательское сообщение |
messg "see here!" |
NOLIST |
Запретить вывод |
nolist |
ORG |
Установить
начальный адрес программы |
org 0x100 |
PAGE |
Вставить страницу
в файл листинга |
page |
PROCESSOR |
Установить тип
микроконтроллера |
processor 16F84 |
RADIX |
Установить систему
счисления по умолчанию для
выражения данных |
radix dec |
SET |
Определение
константы. Аналогична EQU, но в
последствии можно переопределить |
temp set b'00110011' |
SPACE |
Вставить пустые
строки в файл листинга |
space 3 |
SUBTITLE |
Вставить второй
заголовок в файл листинга |
subtitle "Main Project" |
TITLE |
Вставить заголовок
в файл листинга |
title "Project Of PIC" |
#UNDEFINE |
Удаление
определенной текстовой
последовательности |
#undefine snd |
VARIABLE |
Определение
символьной переменной |
variable temp=0xF0 |
Условия |
ELSE |
Начало блока
альтернативного условия (IF) |
else |
ENDIF |
Завершение блока
условия |
endif |
ENDW |
Завершение цикла
ПОКА |
endw |
IF |
Начало блока
условия |
if version == 100 |
IFDEF |
Выполнить, если
определено |
ifdef testing |
IFNDEF |
Выполнить, если не
определено |
ifndef testing |
WHILE |
Цикл ПОКА |
while i < count |
Данные |
CBLOCK |
Определение блока
констант |
cblock 0x20 |
__CONFIG |
Описание бит
конфигурации микроконтроллера |
__config H'FFFF' |
DATA |
Создание числовых
и текстовых данных |
txt data "please",
0x30 |
DB |
Определение байта
данных |
temp db 0xFF |
DE |
Определение данных
в EEPROM |
temp de 0xF0, 0xF1 |
DT |
Определение
таблицы |
temp dt
"text", 0, 0x30 |
DW |
Определение слова
(2 байта) данных |
temp dw 39,
"text" |
ENDC |
Окончание блока
констант |
endc |
FILL |
Заполнение области
константой |
fill 0x1009, 5 |
__IDLOCS |
Определение ID |
__idlocs H'FFEE' |
RES |
Резервирование
памяти |
buffer res 64 |
Макросы |
ENDM |
Окончание макроса |
endm |
EXITM |
Выход из макроса |
exitm |
EXPAND |
Полный текст
макроса в файле листинга |
expand |
LOCAL |
Определение
локальной переменной в макросе |
local leng, tmp |
MACRO |
Определение
макроса |
out_sym macro
temp |
NOEXPAND |
Не разворачивать
макрос |
noexpand |