А. А. Зубарев
А С С Е М Б Л Е Р
ДЛЯ МИКРОКОНТРОЛЛЕРОВ
A V R
Федеральное агентство по образованию Сибирская государственная автомобильно-дорожная академия
(СибАДИ)
А. А. Зубарев
АССЕМБЛЕР
ДЛЯ МИКРОКОНТРОЛЛЕРОВ AVR
Учебное пособие
Омск Издательство СибАДИ
2007
1
УДК 004.43 ББК 22.183.49 З 91
Рецензенты
д-р техн. наук, проф. С.В. Бирюков (ОмГТУ), канд. техн. наук, доц. К.Р. Сайфутдинов (ОмГТУ)
Работа одобрена редакционно-издательским советом академии в качестве учебного пособия по дисциплинам “Проектирование автоматических систем”, “Микропроцессорные устройства автоматики” для специальности 220301 “Автоматизация технологических процессов и производств”, а также “Проектирование микропроцессорных систем ”, “Разработка микропроцессорных устройств диагностики автомобилей и тракторов” для специальности 140607 “Электрооборудование автомобилей и тракторов” и для проведения учебной практики.
Зубарев А.А.
З 91 Ассемблер для микроконтроллеров AVR: Учебное пособие. – Омск: Изд-во СибАДИ, 2007. – 112 с.
ISBN 978-5-93204-310-3
Предназначено для студентов всех форм обучения по специальностям, изучающим проектирование автоматических измерительных и управляющих систем на микроконтроллерах, может быть использовано в курсовом и дипломном проектированиях.
Учебное пособие в простой и доступной форме знакомит читателей с языком программирования Ассемблером для однокристальных микроконтроллеров AVR. Он входит в состав интегрированной среды разработки AVR Studio. Ассемблер как машинно-зависимый язык изменяется и усложняется в процессе совершенствования и усложнения микроконтроллеров. С 2005 г. в состав AVR Studio входит Ассемблер 2 с препроцессором в стиле языка Си. В учебном пособии описывается Ассемблер, входящий в состав AVR Studio 4.13 build 528 (версия, вышедшая в марте 2007 г.).
Приводятся описания синтаксиса языка программирования, директив, команд и состава программного обеспечения. Изложение сопровождается примерами использования команд (инструкций) и директив языка в исходных текстах программ.
Табл.9. Ил.2.
ISBN 978-5-93204-310-3 |
© А.А. Зубарев, 2007 |
2
ОГЛАВЛЕНИЕ
1.ОБЩАЯ ИНФОРМАЦИЯ………………………………………….. 4
1.1.Введение…………………………………………………………… 4
1.2. |
Основные сведения о языке Ассемблер......................................... |
4 |
1.3. |
Новое в AVR Assembler 2 ............................................................... |
5 |
2.СИНТАКСИС AVR АССЕМБЛЕРА………..................................... 6
2.1.Инструкции процессоров AVR………………………………....... 9
2.2.Выражения……………….……………….……………………..… 15
2.2.1.Операнды……….……………….…………………….……. 15
2.2.2.Операторы……….……………….……………………….…16
2.2.3.Функции……….……………….………………...……….… 17
3.ДИРЕКТИВЫ…………………………………………………...……... 18
3.1.Директивы AVRASM………………………………………………18
3.2.Директивы AVRASM2……………………………………..………28
3.3.Операторы AVRASM2…………………………………..…………37
3.4.Предопределенные макросы………………..………………..……38
4.НАСТРОЙКА АССЕМБЛЕРА ……….……………………….……. 39
4.1.Опции……………………………………………….………...……. 39
4.2.Опции командной строки AVRASM2………………….…………41
4.3.Преобразователь XML………………………………….………… 45
4.3.1.Размещение и вызов…………………………….………… 46
4.3.2.Примеры……………………………………….…………… 46
4.3.3.Соглашения об именах файлов…………………….……. 47
4.4.Сообщения об ошибках……………………….…….………...… 48
5.СИСТЕМА КОМАНД 8-РАЗРЯДНЫХ RISC МИКРОКОНТРОЛЛЕРОВ СЕМЕЙСТВА AVR…………..………51
5.1.Список команд…………………………………………..………….51
5.2.Описание команд…………………………………………..……….54 Контрольные вопросы……………………………………………..……110
3
1. ОБЩАЯ ИНФОРМАЦИЯ
1.1. Введение
Микроконтроллеры (МК) в настоящее время широко применяются в новых разработках автоматизированного оборудования в связи с тем, что их использование значительно снижает затраты на разработку и изготовление оборудования, а также позволяет повысить его функциональность. В области автомобильного сервиса МК используются в приборах для диагностики и в оборудовании для ремонта и обслуживания. В частности, в станках для балансировки колес автомобилей (рис.1), производимых компанией «СИВИК» (г. Омск), применяются МК AVR, выпускаемые американской фирмой Atmel.
Выбор МК AVR Atmel
обусловлен тем, что у них выше отношение «функциональность/ цена» по сравнению с аналогичными МК .
Кроме того, фирмой бесплатно предоставляется вся документация и
|
программное |
обеспечение |
|
для |
||
|
составления, |
редактирования |
и |
|||
|
компиляции программ, а также их |
|||||
|
отладки и программирования памяти |
|||||
|
МК. Это программное обеспечение |
|||||
|
для микроконтроллеров |
называется |
||||
|
интегрированная среда разработки |
|||||
|
(Integrated Development Environment |
|||||
|
IDE). Конкретно для AVR |
AVR |
||||
|
Studio version 4.13 build 528 (версия, |
|||||
|
вышедшая в марте 2007 г.). Свежая |
|||||
Рис.1. Станок для балансировки колес |
версия |
AVR |
Studio |
свободно |
||
доступна |
на сайте фирмы |
Atmel: |
||||
http://www.atmel.com.
1.2. Основные сведения о языке Ассемблер
Язык Ассемблер – это машинно-зависимый язык, т. е. набор инструкций (команд) языка зависит от архитектуры МК: количества регистров, видов и объёма памяти, набора периферийных устройств.
Чтобы удовлетворить запросы потребителей (разработчиков аппаратуры), выпускают микроконтроллеры с различным составом
4