Поиск по сайту:

 


По базе:  

микроэлектроника, микросхема, микроконтроллер, память, msp430, MSP430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, SED1335, mega128, avr, mega128  
  Главная страница > Обзоры по типам > Микроконтроллеры > AVR > Команды

реклама

 




Мероприятия:




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

Описание:

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

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

  Операция: Комментарий:  
(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





 
Впервые? | Реклама на сайте | О проекте | Карта портала
тел. редакции: +7 (995) 900 6254. e-mail:info@eust.ru
©1998-2023 Рынок Микроэлектроники