Установка и начало работы с MPASM

Совместимость с инструментальными средствами

Совместимость кода программы

Что такое MPASM

Основные части раздела

Что такое MPASM

Назначение MPASM

Совместимость кода программы

Совместимость с инструментальными средствами

MPASM - бесплатная, универсальная программа компиляции исходного текста программы на языке ассемблер для микроконтроллеров PICmicro компании Microchip Technology Incorporated.

Ассемблер MPASM работает под управлением операционных систем MS-DOS V5.0 и Microsoft Windows 95/98/NT на PC совместимых компьютерах.

1.4 Назначение MPASM

MPASM обеспечивает универсальный инструмент разработки программ для 12/14/16-разрядных микроконтроллеров PICmicro.

Основные достоинства ассемблера MPASM:

поддержка всех инструкций микроконтроллеров PICmicro;

интерфейс командной строки;

оконный интерфейс;

система директив;

поддержка макросов;

совместимость с MPLAB IDE.

Поскольку MPASM является универсальным решением для всех типов микроконтроллеров PICmicro то, например программа, написанная для Р1С16С54, может быть легко перенесена на микроконтроллер Р1С16С71. При переносе программы следует изменить инструкции, которые связаны с аппаратными особенностями микроконтроллеров, а остальная часть директив и макрокоманд останется без изменений.

MPASM совместим со всеми инструментами Microchip включая; MPLAB SIM, MPLAB ICE, PRO MATE, PICSTART Plus.

MPASM гарантирует совместимость синтаксиса текста программы с последующими версиями.


2. •У Введение

В этой главе будет рассмотрена установка MPASM на ваш компьютер с кратким обзором ассемблера.

2.2 Основные части раздела

Установка MPASM Краткий обзор ассемблера Входные и выходные файлы MPASM

2.3 Установка MPASM

Существуют три версии MPASM:

- MPASM.EXE для MS DOS V 5.0 и выше;

MPASM_DP.EXE расширенная DOS версия;

MPASMWIN.EXE для Microsoft Windows З.х/95/98/NT (рекомендуется).

MPASM.EXE - имеет интерфейс командной строки, может использоваться в DOS или в окнах DOS под управлением операционной системы Microsoft Windows З.х/95/98/NT. Допускается использование совместно с MPLAB, рекомендуется MPASMWIN.EXE.

MPASM_DP.EXE - имеет оконный интерфейс, может использоваться в DOS или в окнах DOS под управлением операционной системы Microsoft Windows З.х/95/98/NT. Допускается использование совместно с MPLAB, рекомендуется MPASMWIN.EXE.

MPASMWIN.EXE - версия MPASM для операционной системы Microsoft Windows З.х/95/98/NT имеет оконный интерфейс. Допускается использование совместно с MPLAB или автономно.

Если Вы собираетесь использовать MPASM совместно с MPLAB IDE, то необходимо установить MPASM, включив его в список установочных компонентов при инсталляции MPLAB IDE.

Если предполагается использовать MPASM отдельно от MPLAB IDE, то создайте дополнительную директорию на диске для размещения файлов MPASM, и разархивируйте в нее установочный файл, взятый с CD Microchip или WEB узла Microchip (www.microchip.com или www.microchip.ru).

2.4 Краткий обзор ассемблера

MPASM может использоваться в двух случаях:

для генерации абсолютного кода, который может быть загружен непосредственно в микроконтроллер;

для генерации объектных файлов, которые связываются с другими компилированными модулями.

Абсолютный код - режим работы программы MPASM по умолчанию.

При компиляции исходного файла в этом режиме, все значения должны быть явно указаны в исходном файле или во включаемых файлах. Если компиляция выполнена без ошибок, то будет создан HEX файл кода программы, который можно использовать для непосредственного программирования микроконтроллера.

рис 2.1


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

Компиляция проекта из нескольких файлов.

рис 2.2

Группировка объектных файлов в библиотеку.

рис 2.3


2.5 Входные и выходные файлы MPASM

Типы файлов, связанные с ассемблером MPASM.

Тип файла   Описание  
.ASM   Исходный файл MPASM, <Source name> .ASM  
.LST   Файл листинга программы, <Source name> .LST  
.ERR   Список ошибок, возникших при компиляции, <Source name> .ERR  
.HEX   Файл кода программы, <Source name> .HEX  
.HXL/ .НХН   Файлы кода программы, отдельно младшие и старшие байты кода, <Source name> .HXL < Source name > .НХН  
.COD   Файл для отладчика, <Source name> .COD  
.0   Объектный файл программы, <Source name> .0  

 

2.5.1 Исходный файл (.ASM)

Исходный файл программы может быть создан в любом текстовом редакторе ASCII. Текст программы должен удовлетворять следующим требованиям:

Каждая строка исходного файла может содержать до четырех информационных полей:

метка;

мнемоника команды;

операнды команды;

комментарии.

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

Например:

!

; Пример исходного файла MPASM. 'I

list p=16c54 Dest equ H'OB'

org H'OIFF' goto Start

org H'OOOO'

Start movlw H'OA' movwf Dest bcf Dest, 3 goto Start

end

2.5.1.1 Метки

Метка должна начинаться в колонке 1. За ней может следовать двоеточие (:), пробелы, символы табуляции или конец строки.

Метка должна начинаться с символа латинского алфавита или символа подчеркивания (_) и может состоять из алфавитно-цифровых символов латинского алфавита, символа подчеркивания (_) или знака вопроса (?).

Максимальная длина метки 32 символа.

По умолчанию метки чувствительны к регистру символов, этот параметр может быть изменен в командной строке при запуске MPASM. Если в имени метки используется двоеточие, то отделенная часть трактуется как оператор, а не как часть имени метки.

2.5.1.2 Мнемоники

Мнемоника инструкций микроконтроллера, директивы ассемблера и макрокоманды должны начинаться во второй (и далее) колонке. Если в той же строке имеется метка, то она должна быть отделена двоеточием или одним (и более) символом пробела (табуляции).

2.5.1.3 Операнды

Операнды должны быть отделены от мнемоники одним (или более) символом пробела (табуляции). Многократные операнды разделяются запятыми.

2.5.1.4 Комментарии

Любой текст после (;) трактуется как комментарий и все символы до конца строки игнорируются. Допускаются строковые константы содержащие (;), как комментарий они не воспринимаются.


2.5.2 Формат файла листинга (.LST) Пример:

MPASM 01.99.21 Intermediate MANUAL.ASM 5-30-1997 15:31:05 PAGE 1 LOC OBJECT CODE LINE SOURCE TEXT

VALUE

00001 ;

00002 ; Пример исходного файла MPASM.

00003 ;

00004 list p=16c54 OOOOOOOB 00005 Dest equ H'OB'

01FF 00007 org H'OIFF' 01FF OAOO 00008 goto Start

00009 0000 00010 org H'OOOO'

00011 0000 OCOA 00012 Start movlw H'OA'

0001 002B 00013 movwf Dest

0002 OAOO 00014 goto Start

00016 end

MPASM 01.99.21 Intermediate MANUAL.ASM 5-30-1997 15:31:05 PAGE 2

SYMBOL TABLE LABEL VALUE

Dest OOOOOOOB Start 00000000 _16C54 00000001

MEMORY USAGE MAP ('X' = Used, '-' = Unused)

0000 : XXX------------- ---------------- ---------------- ----------------

01CO : ---------------- ---------------- ---------------- ---------------x

All other memory blocks unused.

Program Memory Words Used: 4 Program Memory Words Free: 508

Errors : 0

Warnings : 0 reported, 0 suppressed

Messages : 0 reported, 0 suppressed

Формат файла листинга, генерируемого MPASM, следующий:

Имя файла и версия, дата и время компиляции, номер страницы выводятся в начале каждой страницы.

Первая колонка цифр указывает базовый адрес кода в памяти. Вторая колонка показывает 32-разрядное значение всех символьных переменных созданных директивами SET, EQU, VARIABLE, CONSTANT или CBLOCK. Третья колонка предназначена для машинного кода, выполняемого микроконтроллером. Четвертая колонка содержит номер строки соответствующего исходного файла.

Остаток строки зарезервирован для исходного текста, который породил машинный код.

Ошибки, предупреждения и сообщения вставляются между строк исходного кода и относятся к следующей по тексту строке исходного кода.

Таблица символов (SYMBOL TABLE) показывает все символьные переменные, определенные в программе. Карта использования памяти (MEMORY USAGE MAP) дает представление об использовании памяти в

графическом виде. Символ "X" показывает использованный участок, а "-" отмечает участок памяти не используемый

данным объектом. При генерации объектного файла карта памяти не выводится.


2.5.3 Формат файла списка ошибок, возникших при компиляции, (.ERR)

По умолчанию MPASM формирует файл списка ошибок при выполнении компиляции исходных файлов. Этот файл может быть полезен при отладке программы. MPLAB автоматически открывает этот файл в случае возникновения ошибок.

Структура файла ошибок:

<тип> [<номер>]<файл><строка><описание>

Например:

Error [113] C:\PROG.ASM 7 : Symbol not previously defined (start)

Список возможных ошибок смотрите в приложении В.

2.5.4 Форматы файлов кода программы (.HEX, .HXL, .НХН)

MPASM способен создавать файлы кода различных форматов. Подробное описание форматов смотрите в приложении А.

2.5.5 Файл для отладчика (.COD)

При компиляции исходного текста программы формируется дополнительный файл, используемый для отладки программы средствами MPLAB IDE.

2.5.6 Объектный файл программы (.0)

Объектные файлы являются перемещаемым кодом, который генерируется из файлов с исходным текстом.