Основы микропроцессорной техники

Ассемблер 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.

Таблица 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> или дополнительного выбора;
  • | – для взаимоисключающих аргументов (выбор ИЛИ);
  • строчные символы – для обозначения типа данных.
Выбор по умолчанию, приведенный в табл. 6.1, может быть изменен командной строкой:

  • /<option> разрешает выбор;
  • /<option>+ разрешает выбор;
  • /<option> – запрещает выбор.
Исходный ассемблерный файл создается с использованием любого ASCII текстового редактора. Каждая линия исходного файла может содержать до четырех типов информации:

  • метки (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

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