В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > AVR > Команды
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


Команда LD (LDD) - загрузить косвенно из СОЗУ в регистр с использованием индекса Y

Описание:

Загружает косвенно, со смещением или без смещения, один байт из СОЗУ в регистр. Положение байта в СОЗУ указывается 16-разрядным регистром-указателем Y в регистровом файле. Обращение к памяти ограничено текущей страницей объемом 64 Кбайта. Для обращения к другой странице СОЗУ необходимо изменить регистр RAMPY в I/O области. Регистр-указатель Y может остаться неизменным после выполнения команды, но может быть инкрементирован или декрементирован. Использование регистра-указателя Y обеспечивает удобную возможность обращения к матрицам, таблицам, указателю стека.

Использование Y-указателя:

  Операция: Комментарий:  
(i) Rd <-- (Y)   Y: Неизменен
(ii) Rd <-- (Y) Y <-- Y + 1 Y: Инкрементирован впоследствии
(iii) Y <-- Y + 1 Rd <-- (Y) Y: Предварительнo декрементирован
(iv) Rd <-- (Y + q)   Y: Неизменен, q: смещение
 
  Синтаксис Операнды: Счетчик программ:
(i) LD Rd,Y 0 < d < 31 PC<-- + 1
(ii) LD Rd,Y+ 0 < d < 31 PC<-- + 1
(iii) LD Rd,-Y 0 < d < 31 PC<-- + 1
(iv) LDD Rd, Y + q 0 < d < 31
0 < q < 63
PC<-- + 1


16-разрядный код операции:


(i) 1000 000d dddd 1000
(ii) 1001 000d dddd 1001
(iii) 1001 000d dddd 1010
(iv) 10q0 qq0d dddd 1qqq

Булевы выражения регистра статуса (SREG)
I T H S V N Z C
- - - - - - - -


Пример:

   clr  r29       ;Очистить старший байт Y
   ldi  r28, $20  ;Установить $20 в младший байт Y
   ld   r0, Y+    ;Загрузить в r0 содерж. SRAM по адресу $20 (Y постинкрементируется)
   ld   r1, Y     ;Загрузить в r1 содержимое SRAM по адресу $21
   ldi  r28, $23  ;Установить $23 в младший байт Y
   ld   r2, Y     ;Загрузить в r2 содержимое SRAM по адресу $23
   ld   r3, -Y    ;Загрузить в r3 содерж. SRAM по адресу $22 (Y преддекрементируется)
   ldd  r4, Y+2   ;Загрузить в r4 содержимое SRAM по адресу $24

Слов: 1 (2 байта)

Циклов: 2