ВУЗ:
Составители:
LSR – логический сдвиг вправо
Синтаксис: lsr Rd
Операция:
b5 С0
0
b6 b2 b1b7 b0b3
7
b4
Операнды: r0…r31
Пример:
Lsr Rd ; сдвиг вправо содержимого регистра r0, что эквивалентно делению
содержимого r0 на два.
2.8.8. Команды загрузки памяти
LPM – загрузка данных из памяти программ.
Синтаксис: lpm Rd,Z
Операция: Rd←Z
Операнды: r0…r31
Описание: байт памяти программ, адресуемый указателем Z,
загружается в регистр Rd
В памяти программ располагаются двухбайтные числа (16 разрядов), а ко-
манда LPM считывает однобайтные числа. Команда функционирует следующим
образом (рис. 26):
0
ячейки памяти
LSB=0
считываемый из
указывает адрес,
Z-регистр
Код, записанный
LSB=1
в разряды 15..1,
1
Память программ
15
Старший Младший
байт байт
LSB
Рис. 26
Поэтому, если мы хотим считать данные, расположенные в памяти программ
по адресу 144
d
, то мы должны сдвинуть число 144 влево. В разряде LSB будет за-
писан 0 и мы считываем младший байт. Если затем прибавить 1 к содержимому
указателя, то мы считаем старший байт.
Пример:
Ldi ZH,high
)1144(
< <
; загрузка адреса в регистр Z со сдвигом
влево на один разряд
Ldi ZL,low
)1144(
< <
Lpm r16,Z ; считывание младшего байта данных, на-
32
Страницы
- « первая
- ‹ предыдущая
- …
- 30
- 31
- 32
- 33
- 34
- …
- следующая ›
- последняя »