|
 |
8(495)909-90-01
8(964)644-46-00
pro@sio.su
|
|
Раздел: Документация0 ... 57 58 59 60 61 62 63 ... 195 ANDI Rd, К «Логическое И» РОН и константы Операция | Rd = Rd | • К | | | | | | | Код операции | 0111 KKKKdddd КККК | | | | 1 слово (2 байта) | Операнды | 16<d<31,0<K<255 | Описание | Выполняет операцию «Логическое И» между содержимым регистра Rd и 8-битным числом. Результат помещается в регистр Rd. Команда применима только к 16 старшим РОН (R16...R31) | Регистр SREG | I | Т | Н | S | V | N | Z | С | - | - | - | <=> | 0 | <=> | о | - | Число тактов | 1 | Пример | andi andi | rl7,$0F г18,$10 | ; Обнулить старший полубайт регистра г17 ; Выделить 4-й бит в регистре г18 |
ASR Rd Арифметический сдвиг вправо Операция | | | | 1—► Ь7...............................Ь0 | | с | | | | Код операции | 1001 010d dddd 0101 1 слово (2 байта) | Операнды | 0<d<31 | Описание | Сдвигает содержимое регистра Rd на 1 бит вправо. Состояние 7-го бита не изменяется. Значение 0-го бита помещается в флаг С регистра SREG. Часто используется для деления чисел со знаком на два | Регистр SREG | I Т Н S V N Z С | — — — о о <=> <=> <=> | Число тактов | 1 | Пример | ldi г1б, $10 ; Записать число 16 в регистр г1б asr rl6 ; г16=г16/2 ldi rl7,$FC ; Записать число -4 в регистр г17 asr rl7 ; г17=г17/2 |
BCLR s Сброс бита регистра SREG Операция | SREG.s | = 0 | | | | | | | Код операции | 1001 0100 lsss 1000 | | | | 1 слово (2 байта) | Операнды | 0<s<7 | Описание | Сбрасывает в 0 заданный бит регистра SREG. Остальные биты регистра SREG остаются без изменения | Регистр SREG | I | т | Н | S | V | N | Z | С | <=> | | <=> | <=> | <=> | о | <=> | <=> | Число тактов | 1 | Пример | bclr bclr | 0 ; Сбросить флаг переноса 7 ; Запретить прерывания | | | |
BLD Rd, b Пересылка флага Т в бит РОН Операция | Rd.b = T | Код операции | 1111 100ddddd0bbb | | | | 1 слово (2 байта) | Операнды | 0 < d < 31 | ,0<Ь<7 | | | | | | | Описание | Копирует флаг Т регистра SREG в бит b регистра Rd | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 1 | Пример | ; Копирование бита bst rl,2 ; Сохранить 2-й бит регистра rl в Т bid г0,4 ; Записать флаг Т в 4-й бит регистра г0 |
BRBC s, к Переход, если бит регистра SREG сброшен Операция | Если SREG.s = 0, то PC = PC + к + 1, иначе PC | = РС+ 1 | | | Код операции | llllOlkkkkkkksss | | | | | 1 слово (2 байта) | Операнды | 0<s<7, | -64<k<+63 | | | | | | Описание | Условный относительный переход. Проверяет заданный бит регистра SREG и выполняет переход, если этот бит сброшен. Величина смещения к представляется числом в дополнительном коде | Регистр SREG | I | T | Н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 1,если SREG.s = 1 2, если SREG.s = 0 | Пример | cpi brbc noteq: | r20,5 ; Сравнить r20 с числом 5 1,noteq ; Переход, если не равно | | |
BRBS s, к Переход, если бит регистра SREG установлен Операция | Если SREG.s = 1,то PC = PC + k + 1, иначе PC | = РС+1 | | | Код операции | 1111 ООкк kkkkksss | | | | | 1 слово (2 байта) | Операнды | 0<s<7, | -64<k<+63 | | | | | | Описание | Условный относительный переход. Проверяет заданный бит регистра SREG и выполняет переход, если этот бит установлен. Величина смещения к представляется числом в дополнительном коде | Регистр SREG | I | T | Н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 1,если SREG.s = 0 2,если SREG.s = 1 | Пример | bst brbs bitset: | r0,3 ; Сохранить 3-й бит rO в флаге T 1,bitset ; Переход, если флаг установлен | | 0 ... 57 58 59 60 61 62 63 ... 195
|
|