|
|
8(495)909-90-01
8(964)644-46-00
pro@sio.su
|
|
Раздел: Документация0 ... 61 62 63 64 65 66 67 ... 195 BRVS к Переход по переполнению дополнительного кода Операция | Если флагV= 1,тоРС = РС + к + 1, иначе РС = РС+ 1 | Код операции | 1111 OOkk kkkk kOl 1 | | | | | 1 слово (2 байта) | Операнды | -64<k<+63 | Описание | Условный относительный переход Проверяет флаг переполнения дополнительного кода (V) и выполняет переход, если этот бит установлен Величина смещения к представляется числом в дополнительном коде Эквивалентна команде BRBS 3,k | Регистр SREG | I | T | H | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 1,если V = 0 2,если V= 1 | Пример | add brvs overf1: | r3 ,r4 overf1 | ; r3 = r3 + r4 ; Перейти, если было | переполнение | |
BSETs Установка бита регистра SREG Операция | SREG s = | = 1 | | | | | | | Код операции | 10010100 Osss 1000 | | | | | 1 слово (2 байта) | Операнды | 0<s<7 | Описание | Устанавливает заданный бит регистра SREG | Регистр SREG | I | Т | Н | S | V | N | Z | С | о | о | о | о | о | о | о | о | Число тактов | 1 | Пример | bset bset | 6; Установить флаг Т 7; Разрешить прерывания | | | |
BST Rd,b Запись бита РОН в флаг Т Операция | T = Rd.b | Код операции | 1111 lOldddddObbb | | | | 1 слово (2 байта) | Операнды | 0<d<31,0<b<7 | Описание | Копирует бит b регистра Rd в флаг Т регистра SREG | Регистр SREG | I | Т | Н | S | V | N | Z | С | - | о | - | - | - | - | - | - | Число тактов | 1 | Пример | ; Копирование бита: bst rl,2 ; Сохранить 2-й бит регистра rl в Т bid г0,4 ; Записать флаг Т в 4-й бит регистра г0 |
CALL к Абсолютный вызов подпрограммы Операция | STACK = | PC + 2; PC = k;SP = | = SP-2(3) | | | | Код операции | 1001 010k kkkk 11 lk kkkk kkkk kkkk kkkk | | 2 слова (4 байта) | Операнды | 0<k<4M | Описание | Абсолютный вызов подпрограммы. Выполняет переход к подпрограмме, адрес которой задается константой к (в пределах всей памяти программ). Адрес следующей за CALL команды (2 или 3 байта) сохраняется в стеке. На практике вместо числовых значений смещения указываются метки подпрограмм (см. пример) | Регистр SREG | I | T | H | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | | | 4(в 5(в | моделях с PC < 16 битов) моделях с PC > 16 битов) | | | | call | routine | ; Вызвать подпрограмму | | | Пример | routine: push rl4 | ; Сохранить г14 | | | | | pop ret | rl4 | ; Восстановить г14 ; Возврат из подпрограммы | | |
CBIA, Ь Сбросить бит РВВ Операция | 1/0(А).Ь | = 0 | | | | | | | Код операции | 1001 1000 AAAAAbbb | | | | 1 слово (2 байта) | Операнды | 0<A<31,0<b<7 | Описание | Сбрасывает бит b регистра ввода/вывода, расположенного по адресу А пространства ввода/вывода. Эта команда применима только к младшим 32 регистрам (адреса 0...31) | Регистр SREG | I | т | Н | S | V | N | Z | С | - | - | - | - | - | - | - | - | Число тактов | 2 | Пример | cbi | $12,7 | ; Сбросить 7-й | бит порта D | |
CBR Rd, К Сброс битов РОН Операция | Rd = Rd | • ($FF- | К) | | | | | | Код операции | 0111 KKKKdddd KKKK | | | | 1 слово (2 байта) | Операнды | 16<d<31,0<K<255 | Описание | Сбрасывает биты в регистре Rd в соответствии с маской, задаваемой константой К. Результат помещается в регистр Rd | Регистр SREG | I | T | н | S | V | N | Z | С | - | - | - | о | 0 | о | о | - | Число тактов | 1 | Пример | cbr cbr | rl6,$F0 ; Обнулить старший полубайт регистра г16 г18,1 ; Сбросить 4-й бит в регистре г18 |
CLC Сброс флага переноса Операция | С = 0 | Код операции | 1001 0100 1000 1000 | | | | 1 слово (2 байта) | Операнды | Нет операндов | Описание | Сбрасывает в 0 флаг переноса С регистра SREG. Эквивалентна команде BCLR 0 | Регистр SREG | I | Т | н | S | V | N | Z | С | - | - | - | - | - | - | - | 0 | Число тактов | 1 | Пример | add r0,r0 clc | ; Сложить г0 сам с собой ; Сбросить флаг переноса | | | 0 ... 61 62 63 64 65 66 67 ... 195
|
|