Метка/имя и команда/операнд разделяются, по крайней мере, одним пробелом или символом табуляции.
Пример:
Имя
Команда Операнд
Комментарий
COUNT
EQU 10H
; Регистр COUNT
;=====================================
; --Подсчет числа посетителей--------------------
;=====================================
START
MOVWF COUNT
; Копировать содержимое W в COUNT
………… ………….
GOTO START
; Вернуться к началу
ОСНОВНЫЕ ПОЛОЖЕНИЯ НА ПАМЯТЬ
· При создании устройств на PICах, разработчик имеет дело с универсальным языком программирования ассемблер, при помощи команд которого задачи решаются гораздо проще и эффективнее.
· Не забывайте ставить символ "точка с запятой" перед комментариями.
· Завершайте программу директивой END.
· Метка - точка программы, на которую передается управление, а имя - ячейка памяти.
· Команда указывает ассемблеру, какое действие должен выполнить данный оператор, например, пересылка (MOV) или сложение (ADD). Обработка Ассемблером команды приводит к генерации машинного кода.
· Директивы указывают ассемблеру, как проводить ассемблирование и исполняются только внутри него. Функции этих псевдокоманд состоят в подготовке к исполнению программы и определении границы, за которую программа выйти не может (директивы ORG и END).
· Метка должна занимать крайнюю левую позицию на экране. Между меткой, командой и операндом обязательно должны быть пробелы в строке. Рекомендуется записывать метку, команду и операнд в колонку для большей удобочитаемости программы.
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
1. По какой архитектуре построены PIC контроллеры?
2. Какие из следующих имен неправильны: а) STATUS, б) $50, в) @$_Z, г) 34B7, д) РСL?
3. Что подразумевает директива END.
4. Укажите различия между директивой и командой.
5. Что означают термины ассемблер и ассемблирование?
6. Какую функцию выполняет директива ORG? EQU? END?
7. Какие операторы не создают машинного кода?
8. Как записать константу 12 в десятичной, двоичной и шестнадцатеричной системе счисления на языке ассемблер?
9. Какую функцию выполняет команда? директива?
10. Где расположены в программе Метка/Имя и что они определяют?
11. Как закомментировать команду? Что это означает?