Ассемблер MPASM
Ассемблер MPASM представляет собой интегрированную программную среду для разработки программных кодов PIC микроконтроллеров всех семейств. Выпускается фирмой Microchip в двух вариантах: для работы под DOS и для работы под Windows 95/98/NT. Ассемблер MPASM может использоваться как самостоятельно, так и в составе интегрированной среды разработки MPLAB. Он включает несколько программ: собственно MPASM, MPLINK и MPLIB, причем каждая из них обладает собственным интерфейсом.
Программа MPASM может использоваться для двух целей:
- генерации исполняемого (абсолютного) кода, предназначенного для записи в МК с помощью программатора;
- генерации перемещаемого объектного кода, который затем будет связан с другими ассемблированными или компилированными модулями.
Исполняемый код является для MPASM выходным кодом по умолчанию. При этом все переменные источника должны быть явно описаны в тексте программы или в файле, подключаемом с помощью директивы INCLUDE <filename>. Если при ассемблировании не выявляется ошибок, то генерируется выходной .hex-файл, который может быть загружен в МК с помощью программатора.
При использовании ассемблера MPASM в режиме генерации перемещаемого объектного кода формируются объектные модули, которые могут быть впоследствии объединены с другими модулями при помощи компоновщика MPLINK. Программа-компоновщик MPLINK преобразует перемещаемые объектные коды в исполняемый бинарный код, привязанный к абсолютным адресам МК. Библиотечная утилита MPLIB позволяет для удобства работы сгруппировать перемещаемые объекты в один файл или библиотеку. Эти библиотеки могут быть связаны компоновщиком MPLINK в файл выходного объектного кода ассемблера MPASM.
Программы MPASM и MPLINK доступны через оболочку MPASM, тогда как MPLIB доступна только со своей командной строки.
Исходным файлом для ассемблера MPASM по умолчанию является файл с расширением .ASM. Текст исходного файла должен соответствовать требованиям синтаксиса, приведенным далее.
Ассемблер MPASM может быть вызван командной строкой
MPASM [/<Option>[ /<Option>...]] <file_name> где /<Option> означает выбор режима работы ассемблера в командной строке; <file_name> – имя файла на ассемблирование.
Режимы работы ассемблера, выбранные по умолчанию, приведены в табл. 6.1.
? | N/A | Вызвать помощь |
a | INHX8M | Генерировать абсолютный .COD и hex выход непосредственно из ассемблера: |
c | On | Выбрать/запретить случай чувствительности |
e | On | Выбрать/запретить файл ошибок |
h | N/A | Отобразить панель помощи MPASM |
l | On | Выбрать/запретить файл листинга, генерированный из макроассемблера. |
m | On | Вызвать/запретить макрорасширение |
o | N/A | Установить путь для объектных файлов /o<path>\object.file |
p | None | Установить тип процессора: /p<processor_type>; |
q | Off | Разрешить/Запретить скрытый режим (запретить вывод на экран) |
r | Hex | Определяет тип числа по умолчанию: /r<radix> |
w | 0 |
Определяет уровень диагностических сообщений в файле листинга /w<level>, где <level> может быть: 0 – сообщать все, 1 – сообщать о предупреждениях и ошибках, 2 – сообщать только об ошибках. |
x | Off | Разрешить/запретить перекрестные ссылки в файле листинга. |
- [ ] – для аргументов по выбору;
- < > – для выделения специальных ключей <TAB>, <ESC> или дополнительного выбора;
- | – для взаимоисключающих аргументов (выбор ИЛИ);
- строчные символы – для обозначения типа данных.
- /<option> разрешает выбор;
- /<option>+ разрешает выбор;
- /<option> – запрещает выбор.
- метки (labels)
- мнемоника (mnemonics)
- операнды (operands)
- комментарий (comments)
Максимальная длина строки 255 символов.
Один или несколько пробелов должны отделять метку и мнемонику или мнемонику и операнд(ы). Операнды могут отделяться запятой. Например:
List p=16C54, r=HEX ORG 0x1FF ;Вектор сброса GOTO START ;Возврат на начало ORG 0x000 ;Адрес начала исполнения ;программы START MOVLW 0x0A ;Выполнение программы ;PIC МК MOVLW 0x0B ;Выполнять всегда GOTO START END