Электронные системы ускорителей

Основы языка ассемблера С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//Это комментарий в стиле языка Си



Продолжение