Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Директивы транслятора ассемблера




 

Транслятор ассемблера поддерживает достаточно много директив. Директивы не транслируются в программу для микроконтроллера. Они используются для указания транслятору ассемблера данных о расположении программы в памяти микроконтроллера, определения макросов и т.д.

Ниже приведен перечень директив транслятора ассемблера:

 

.BYTE – резервирует место (или несколько мест) размером 1 байт для переменной.

Синтаксис:

Метка:.BYTE числовое выражение

Пример:

.DSEG;Сегмент данных (см. ниже)

var1:.BYTE 1;Резервируем 1 байт для переменной var1

table:.BYTE tab_size;Резервируем tab_size байт

 

.CSEG;сегмент кода (см. ниже)

ldi r30, low(var1);Загружаем младший байт Z-регистра

ldi r31, high(var1);Загружаем старший байт Z-регистра

ld r1,Z;Загрузить содержимое переменной var1 в r1

 

.CSEG – сегмент кода.

Синтаксис:

.CSEG

Пример:

.DSEG;Начало сегмента данных

vartab:.BYTE 4;Резервируем 4 байта в SRAM

.CSEG;Начало сегмента кода

const:.DW 2;Запишем число 0x00002 в память программ

mov r1,r0

.DB – определить байты-константы в памяти программ или EEPROM.

Синтаксис:

Метка:.DB список выражений

Пример:

.CSEG

const:.DB 0, 255, 0b01001101, -128, 0xD5

.ESEG

eeconst:.DB 0x45

.DEF – назначить регистру символьное имя.

Синтаксис:

.DEF символьное имя = регистр

Пример:

.DEF temp=r16

.DEF iro=r0

 

.DEVICE – определяет тип целевого микроконтроллера.

Синтаксис:

.DEVICE AT90S1200

 

.DSEG – сегмент данных.

Синтаксис:

.DSEG

Пример:

.DSEG;Начало сегмента данных

var1:.BYTE 1;Резервируем 1 байт для переменной var1

table:.BYTE tab_size;Резервируем tab_size байт

 

.DW – определение слов-констант в памяти программ или EEPROM.

Синтаксис:

Метка:.DW список выражений

Пример:

.CSEG

varlist:.DW 0, 56255, 0b0101100110, -12128, 0xaaff

.ESEG

eevar:.DW 0xff17

 

.ENDMACRO – конец описания макрокоманды.

Синтаксис:

.ENDMACRO

Пример:

.MACRO SUBI 16;Начало определения макрокоманды

subi r16,low(@0);Вычитаем младший байт

sbci r17,high(@0);Вычитаем старший байт

.ENDMACRO;Конец определения макрокоманды

 

.EQU – присвоить символьному обозначению выражение.

Синтаксис:

.EQU <символьное обозначение> = <выражение>

Пример:

.EQU io_offset = 0x23

.EQU porta = io_offset + 2

.ESEG – EEPROM сегмент.

Синтаксис:

.ESEG

Пример:

.ESEG

eevar:.DW 0xff67;Инициализируем одно слово в EEPROM

.EXIT – конец текста программы.

Синтаксис:

.EXIT

 

.INCLUDE – вставить файл.

Синтаксис:

.INCLUDE ”имя файла”

 

.LIST – включить генерацию листинга.

Синтаксис:

.LIST

 

.NOLIST – выключение генерации листинга.

Синтаксис:

.NOLIST

 

.ORG – установка значения счетчика расположения.

Синтаксис:

.ORG выражение

2.5. Средства разработки программ AVR – MK

 

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

В качестве программного обеспечения для разработки прикладных программ был использован ассемблер-симулятор «AVR Studio» (рис. 2.1), который является улучшенной версией «wavrsim». Он может показывать содержимое регистров


ввода-вывода, что является большим преимуществом при отладке программ.

 

 

Рис. 2.1 Вид экрана AVR Studio фирмы Atmel

 

Выводы:

· Рассмотрены особенности системы команд АVR- MK

· Проведен анализ средств разработки программ для АVR- MK, на основании которого делается вывод о целесообразности применения ассемблера- симулятора «АVR Studio».





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 412 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

4509 - | 4156 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.