|
|
8(495)909-90-01
8(964)644-46-00
pro@sio.su
|
|
Раздел: Документация0 ... 68 69 70 71 72 73 74 ... 195 LDI Rd, К Загрузка константы в РОН Операция | Rd = К | Код операции | 1110КККК dddd KKKK | | | | 1 слово (2 байта) | Операнды | 16<d<31,0<k< 255 | Описание | Загружает 8-битное число в регистр общего назначения Rd. Данная команда применима только к старшей половине РОН (адреса 16...31) | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 1 | Пример | clr г31 ldi r30,$F0 1pm | ; Очистить старший байт индексного регистра Z ; Загрузить адрес в регистр Z ; Загрузить константу из памяти программ ; по адресу $00F0 |
LDS Rd, к Непосредственная загрузка из памяти данных Операция | Rd = [к] | Код операции | 1001 000d dddd 0000 kkkk kkkk kkkk kkkk | | 2 слова (4 байта) | Операнды | 0<d<31,0<k<65535 | Описание | Загружает один байт из адресного пространства памяти данных в регистр общего назначения Rd. Адрес ячейки памяти, к которой производится обращение, задается константой к | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 2 | Пример | Ids r2,$FF00 ; r2 = [$FF00] add r2,rl ; r2 = r2 + rl sts $FF000,r2 ; Записать результат по тому же адресу |
LPM Загрузка данных из памяти программ Операция | RO = {Z} | Код операции | 1001 0101 1100 1000 | | | | 1 слово (2 байта) | Операнды | Нет операндов | Описание | Загружает один байт из адресного пространства памяти программ в регистр общего назначения R0. Адрес ячейки памяти, к которой производится обращение, содержится в индексном регистре Z | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 3 | Пример | clr ldi 1pm | r31 r30,$F0 | ; Очистить старший байт индексного ; регистра Z ; Загрузить адрес в регистр Z ; г0 = {$00F0} | |
LPM Rd, Z Загрузка данных из памяти программ Операция | Rd = {Z( | Код операции | 1001 000d dddd 0100 | | | | 1 слово (2 байта) | Операнды | 0 <d < 31 | Описание | Загружает один байт из адресного пространства памяти программ в регистр общего назначения Rd. Адрес ячейки памяти, к которой производится обращение, содержится в индексном регистре Z | Регистр SREG | I | T | н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 3 | Пример | clr г31 ldi r30,$F0 1pm rl6,Z | ; Очистить старший байт индексного ; регистра Z ; Загрузить адрес в регистр Z ; г1б = {$00F0} | |
LPM Rd, Z+ Загрузка данных из памяти программ с постинкрементом Операция | Rd = {Z( | Код операции | 1001 OOOd dddd 0101 | | | | 1 слово (2 байта) | Операнды | 0<d<31 | Описание | Загружает один байт из адресного пространства памяти программ в регистр общего назначения Rd. Адрес ячейки памяти, к которой производится обращение, содержится в индексном регистре Z. После пересылки байта содержимое регистра Z увеличивается на 1 | Регистр SREG | I | T | н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 3 | Пример | clr г31 ldi r30,$F0 1pm rl6,Z+ | ; Очистить старший байт индексного ; регистра Z ; Загрузить адрес в регистр Z ; rl6 = {$00F0}, Z = $00F1 | |
LSL Rd Логический сдвиг влево Операция | С <- Ь7...............................ЬО <-0 | Код операции | 1000 1 ldd dddd dddd 1 слово (2 байта) | Операнды | 0 < d < 31 | Описание | Сдвигает все биты регистра Rd влево. Бит Ь0 сбрасывается в 0, а бит Ь7 загружается в флаг С регистра SREG. Эквивалентна команде ADD Rd, Rd | Регистр SREG | I T Н S V N Z С | — — — <=><=> 0<=>o | Число тактов | 1 | Пример | add r0,r4 ; rO = rO + r4 lsl rO ; rO = rO * 2 | 0 ... 68 69 70 71 72 73 74 ... 195
|
|