Что такое MPLAB


Директивы языка MPASM


Директивы ассемблера располагаются в тексте исходного файла для расширения функций ассемблера, определения и управлением процессом. Общее правило - директивы не должны располагаться в первой позиции строки в тексте (иначе будут определены как метка).

   ЕЩЕ! можете скачать архив direct.zip, содержащий файлы в формате ворда, полностью и подробно описывающие на русском языке директивы ассемблера с примерами. Рекомендую! 

 

 



ДИРЕКТИВА ОПИСАНИЕ ПРИМЕР
Директивы управления
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

В начало

 

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