Основы микропроцессорной техники | |||||||||||||||||||||||||||||||||||||||||||||||
Глава 6. Проектирование устройств на микроконтроллерах | |||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения | |||||||||||||||||||||||||||||||||||||||||||||||
| Раздел 6 - Страницы: « 1 | 2 | 3 | 4 | 5 | 6 | 7 | » | |||||||||||||||||||||||||||||||||||||||||||||||
Комментарии Поле комментария может использоваться программистом для текстового или символьного пояснения логической организации программы. Поле комментария полностью игнорируется ассемблером, поэтому в нем можно применять любые символы. Комментарии, которые используются в строке сами по себе, должны начинаться с символа комментария (* или;) Комментарии в конце строки должны быть отделены от остатка строки одним или более пробелами или табуляцией. Расширения файлов, которые используются MPASM и утилитами Существует ряд расширений файлов, применяемых по умолчанию MPASM и связанными с ним утилитами. Назначение таких расширений приведены в табл. 6.4.
Листинг это текстовый файл в формате ASCII, содержащий машинные коды, сгенерированные соответственно каждой асемблернои команды, директивой ассемблера или действий выходного файла. Файл листинга содержит: имя продукта и версии, дату и время, номер страницы вверху каждой страницы. В состав листинга входят также таблица символов и карта использования памяти. В таблице символов перечисляются все символы, которые есть в программе, и где они определены. Карта использования памяти дает графическую информацию о расходе памяти МК. Директивы языка Директивы языка - это асемблерни команды, которые встречаются в исходном коде, но не транслируются прямо в коды, которые выполняются. Они используются ассемблером при трактовке мнемоники входного файла, размещении данных и формировании файла листинга. Существует четыре основных типа директив в MPASM:
Директивы данных управляют распределением памяти и обеспечивают доступ к символическим обозначений данных. Директивы листинга руководят листингом файла MPASM и форматом. Они определяют спецификацию заголовков, генерацию страниц и другие функции управления листингом. Директивы управления позволяют сделать секционирования обычного асемблерного кода. Макро-директивы управляют выполнением и распределением данных в пределах определений макротила. Ниже приводится описание некоторых директив ассемблера MPASM, используемых в данном учебном пособии. CODE - начало секции объектного кода Синтаксис: [<label>] Code [ROM address>] Используется при генерации объектных модулей. Сообщает начало секции кода. Если <label> не указана, секция будет названа. Code Пункт отправления устанавливается равной указанному значению или нулю, если адрес не был указан. Пример: RESET code H'01FF ' goto START # DEFINE - определить метку замены текста Синтаксис: # Define <name> [<string>] Директива задает строку <string>, замещающего метку <name> всякий раз, когда та будет встречаться в исходном тексте Символы, которые определены директивой # DEFINE, не могут быть пересмотрены симулятором. Используйте вместо этой директивы EQU. Пример: # Define length 20 # Define control 0x19, 7 # Define position (X, Y, Z) (y-(2 * Z + X)). test_label dw position (1, length, 512) bsf control; установить в 1 бит 7 в f19 END - конец программного блока Синтаксис: end Определяет конец программы. После остановки программы таблица символов сбрасывается в файл листинга. p> Пример: start ; Код выполняемый ; end; конец программы EQU - определить асемблерну константу Синтаксис: <label> equ <expr> Здесь <expr> - это правильный MPASM выражение. Значение выражения присваивается метке <label>. Пример: four equ 4; присваивает численное значение метке four INCLUDE - включить дополнительный файл источники Синтаксис: include <<include_file>> include "<include_file>" Обусловлен файл считывается как источник кода. По окончании файла, который включается, будет продолжаться асемблювання источники. Допускается до шести уровней вложенности. <include_file> может быть заключен в кавычки или угловые скобки. Если указан полный путь к файлу, то поиск будет происходить только по этому пути. В противном случае порядок поиска следующий: текущий рабочий каталог, каталог, в котором находится источник, каталог MPASM. Пример: include "c: \ sys \ sysdefs.inc"; system defs include <addmain.asm>; register defs LIST - установить параметры листинга Синтаксис: list [<list_option>,, <list_option>] Директива <list> позволяет вывод листинга, если он до этого был запрещен. Кроме того, один из параметров листинга может быть изменен для управления процессом асемблювання соответствии с табл. 6.5.
NOLIST - исключить ыход листинга Синтаксис: NOLIST ORG - установить начальный адрес программы Синтаксис: <label> org <expr> Устанавливает начальный адрес программы для следующего кода согласно адресу в <expr>. MPASM выводит перемещаемый объектный код, а MPLINK разместит код по определенной адресу. Если метка <label> определена, то ей будет присвоено значение <expr>. По умолчанию начальный адрес имеет нулевое значение. Директива может не использоваться, если создается объектный модуль. Пример: int_1 org 0x20; Переход по вектору 20 int_2 org int_1 +0 x10; Переход по вектору 30 PROCESSOR - установить тип процессора Синтаксис: processor <processor_type> Устанавливает тип используемого процессора <processor_type>: Для поддержания совместимости с новыми изделиями выбирается максимум доступной памяти. SET - определить асемблерну переменную Синтаксис: <label> set <expr> Директива SET функционально эквивалентна директиве EQU, за исключением того, что величина, обусловленная SET, может быть изменена директивой SET. Пример: area set 0 widthset 0x12 length set 0x14 area set length * width length set length + 1 TITLE - определить программный заголовок Синтаксис: title "<title_text>" Эта директива устанавливает текст, используемый в верхней линии страницы листинга. <title_text> - это печатная ASCII последовательность, помещена в двойные скобки. Она может быть до 60 символов длиной. Пример: title "operational code, rev 5.0" | |||||||||||||||||||||||||||||||||||||||||||||||
| «Структура курса Раздел 6 - Страницы: « 1 | 2 | 3 | 4 | 5 | 6 | 7 | » | |||||||||||||||||||||||||||||||||||||||||||||||