Общая информация

 

Здесь представлена информация по ассемблеру всей серии AVR, т.к. все микроконтроллеры этой серии программно совместимы.

Ассемблер – это инструмент, с помощью которого создаётся программа для микроконтроллера. Ассемблер транслирует ассемблируемый исходный код программы в объектный код, который может использоваться в симуляторах или эмуляторах AVR. Также ассемблер генерирует код, который может быть непосредственно введен в программную память микроконтроллера.

При работе с ассемблером нет никакой необходимости в непосредственном соединении с микроконтроллером.

Исходный файл, с которым работает ассемблер, должен содержать мнемоники, директивы и метки.

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

Строка программы может быть в одной из четырёх форм:

 

[ Метка:] директива [операнды] [Комментарий]

[ Метка:] команда [операнды] [Комментарий]

Комментарий

Пустая строка

 

Комментарий имеет следующую форму:

; [Текст]

Таким образом любой текст после символа “ ; ” игнорируется ассемблером и имеет значение только для пользователя.

Операнды можно задавать в различных форматах:

- десятичный (по умолчанию): 10,255

- шестнадцатеричный (два способа): 0´0а, $0а

- двоичный: 0b00001010, 0b11111111

- восьмеричный (впереди ноль): 010, 077

 

Система команд

 

Система команд микроконтроллеров ATMEL семейства AVR очень большая и в то же время эффективная. Одной из отличительных особенностей микроконтроллеров AVR является то, что почти все команды выполняются за 1 тактовый цикл. Исключение составляют команды перехода. Это существенно увеличивает производительность микроконтроллера даже при относительно невысокой тактовой частоте.

Все команды можно классифицировать на 5 типов:

1. арифметические команды;

2. логические команды;

3. команды перехода;

4. команды передачи данных;

5. побитовые команды и команды тестирования битов.