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

 
Пересюхтюмя


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





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





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


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





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


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

Описание:

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

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


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


(i) 1000 001r rrrr 1000
(ii) 1001 001r rrrr 1001
(iii) 1001 001r rrrr 1010
(iiii) 10q0 qq1r rrrr 1qqq

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


Пример:

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

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

Циклов: 2