ОСНОВЫ ЯЗЫКА АССЕМБЛЕРА С51ASM
1. Операторы
2. Комментарии
3. Идентификаторы
3.1 Метки
3.2. Предопределенные идентификаторы
4. Константы
5. Выражения
6. Типы сегментов
7. Набор инструкций 8051
8. Директивы ассемблера
9. Управление ассемблером
10. Условное ассемблирование
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНОЙ РАБОТЕ
1. Задание и порядок выполнения работы
2. Задачи
3. Оформление отчета
ПРИЛОЖЕНИЕ
Сообщение об ошибках ассемблера C51ASM
Основы языка ассемблера С51ASM
Здесь даны основы синтаксиса операторов языка ассемблера и ассемблерных директив, которые реализованы в ассемблере Atmel ® C51ASM. Для использования данного руководства пользователь должен быть знаком с архитектурой микроконтроллеров семейства 8051. Полные сведения об ассемблере можно получить из справочника Help приложения AT89LP Developer Studio в разделе AT89LP C51ASM User Manual или в Руководстве пользователя.
1. Операторы
Программа на языке ассемблера состоят из последовательности операторов, которые включают в себя директивы управления ассемблером и инструкции (мнемокоды) 8051. Каждая строка программы может содержать только один оператор. Операторы должны быть только однострочные - многострочные не допускаются. Операторы имеют одну из следующих форм, где всё, что включено в скобки [], не является обязательным:
[label:] [instruction [arguments]] [;comment]
[label:] directive [arguments] [;comment]
$control [(argument)] [control [(argument)]] [;comment]
Максимальная длина строки ассемблерной программы не ограничена. Однако, для совместимости с другими ассемблерами строки должны быть не более 255 символов. Лексические элементы операторов должны быть разделены пробелами или знаками табуляции, если другой разделитель отсутствует. Ассемблер не чувствителен к регистру, буквы верхнего регистра эквивалентны буквам нижнего регистра, за исключением символьных констант.
Например:
LABEL1: MOV A,#0FFH ;определена метка LABEL1 и ;в A загружено значение FFH YEAR EQU 2013 ;задана константа для текущего года $INCLUDE (AT89LP51.inc) ;подключен заголовочный файл с ;определением регистров в МК AT89LP51
2. Комментарии
Комментарии — это определяемые пользователем строки текста, которые поясняют программу, но не обрабатываются ассемблером. Комментариям должен предшествовать символ либо точка с запятой (;), либо двойной слеш (//). Весь текст после комментария игнорируется ассемблером до конца строки. Пустые строки также считаются комментарием.
;[текст комментария]
//[текст комментария]
Комментарии могут находиться в любом месте ассемблерной программы. Комментарий может появиться на отдельной строке или в конце инструкции. Двойной комментарий с символом точка с запятой (;) имеет особое значение внутри определения макросов.
Например:
;Это строка комментария
//Это тоже комментарий
NOP;Это комментарий в конце инструкции
NOP//Это комментарий в стиле языка Си