Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Директиви асемблера

Компілятор підтримує ряд директив. Директиви не транслюються безпосередньо в код. Натомість вони використовуються для вказівки положення в програмній пам'яті, визначення макросів, ініціалізації пам'яті і т.п. Список директив приведений в таблиці 2.1.

Таблиця 2.1

Директиви мови Assembler для AVR

Директива Опис
BYTE Зарезервувати байти в ОЗП
CSEG Програмний сегмент
DB Визначити байти у флеш або EEPROM
DEF Призначити регістру символічне ім'я
DEVICE Визначити пристрій для котрого компілюється програма
DSEG Сегмент даних
DW Визначити слово у флеш або EEPROM
ENDM, ENDMACRO Кінець макросу
EQU Встановити постійний вираз
ESEG Сегмент EEPROM
EXIT Вийти з файлу
INCLUDE Вкласти інший файл
LIST Включити генерацію лістингу
LISTMAC Включити розгортання макросів в лістингу
MACRO Початок макросу
NOLIST Включити генерацію лістингу
ORG Встановити положення в сегменті
SET Встановити змінний символічний еквівалент виразу

 

Перед кожною директивою ставиться крапка.

BYTE – Зарезервувати байти в SRAM

Директива BYTEрезервує байти в ОЗУ. Якщо Ви хочете мати можливість звертатися до виділеної області пам'яті, то до директиви BYTE повинна бути передуюча мітка. Після цього до елементу пам'яті можна звертатися за ім'ям мітки. Директива приймає один обов'язковий параметр, який указує кількість байт що виділяються. Ця директива може використовуватися тільки в сегменті даних (див. директиви CSEG і DSEG). Виділені байти не ініціалізуються.

Синтаксис:
МІТКА: .BYTE вираз

Приклад:
.DSEG
var1: .BYTE 1 ; резервує 1 байт для змінної var1

table: .BYTE tab_size ; резервує tab_size байт

.CSEG

ldi r30,low(var1) ; Завантажує молодший байт адреси, по

; якому розташовується змінна

; var1, у регістр Z

ldi r31,high(var1) ; Завантажує старший байт адреси, по

; якому розташовується змінна

; var1, у регістр Z

ld r1,Z ; Завантажує байт з ОЗУ, адреса

; якого знаходиться в регістрі Z,

; у регістр r1 (змінну VAR1).


Читайте також:

  1. Директиви ЄС і конвенції МОП з охорони праці. Міжнародне співробітництво в галузі охорони праці
  2. Директиви ЄС про ергономічні вимоги
  3. Директиви препроцесора. Директиви визначення.
  4. Мова асемблера
  5. Облікові директиви ЄС
  6. Синтаксис команд мовою асемблера




Переглядів: 1969

<== попередня сторінка | наступна сторінка ==>
Інструкції процесорів AVR | DEVICE - Визначити пристрій для якого компілюється програма

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.015 сек.