Функция | Перевод | Мнемоника |
Сложить со вторым байтом команды | Add Immediate | ADI < B2 > |
Сложить со вторым байтом команды с учетом переноса | Add & Carry Immediate | ACI < B2 > |
Вычесть второй байт команды | Subtract Immediate | SUI < B2 > |
Вычесть второй байт команды с учетом переноса | Subtract-Borrow Immediate | SBI < B2 > |
Логическое И со вторым байтом | AND Immediate | ANI < B2 > |
Исключающее ИЛИ со вторым байтом | Exclusive OR Immediate | XRI < B2 > |
Логическое ИЛИ со вторым байтом | OR Immediate | ORI < B2 > |
Сравнить со вторым байтом | Compare Immediate | CPI < B2 > |
Команды инкремента и декремента. К группе команд обработки данных относятся также команды увеличения и уменьшения содержимого регистра на 1 - INR R и DCR R.
Система команд микропроцессора КР.580ИK80A дает возможность производить арифметические операции с 16-битными операндами. Считается, что в этих командах операнды - целые положительные числа, а значения всех триггеров состояния не изменяются. Две команды - инкремента пары INX Rр и декремента пары DCX Rр - позволяют увеличить или уменьшить содержимое регистров ВС, DE, HL и указателя стека SP на 1.
|
|
Команда сложения с удвоенной точностью DAD (Double Acceptation Data) суммирует содержимое регистровой пары (HL) и адресуемого шестнадцатибитного регистра: (HL) + (Rp) → Н, L. При этом модифицируется в соответствии с результатом операции триггер переноса.Команда DAD Н эквивалентна умножению на два регистров HL, т.е. сдвигу на один разряд влево.
Команды сдвига и десятичной коррекции. В системе команд микропроцессора КР.580ИК80А имеются команды сдвига двух видов: арифметического и циклического (табл. 2.3). При циклическом сдвиге аккумулятор замыкается через регистр связи (бит переноса). Сдвиги возможны как влево, так и вправо.
При арифметическом сдвиге влево самый младший бит аккумулятора заполняется значением, полученным из регистра связи. Производится последовательный сдвиг всех разрядов, и значение самого старшего бита направляется в освободившийся регистр сдвига CY.
Таблица 2.3. Команды сдвига и сложения десятичных чисел
Функция | Перевод | Мнемоника |
Циклический сдвиг влево | Rotate Left | RLC |
Циклический сдвиг вправо | Rotate Right | RRC |
Арифметический сдвиг влево | Rotate Arithmetic Left | RAL |
Арифметический сдвиг вправо | Rotate Arithmetic Right | PAR |
Операция с десятичными числами | Decimal Adjust Accumulator | DAA |
При арифметическом сдвиге вправо также используется регистр связи, но направление смещения меняется на противоположное: из регистра связи заполняется самый старший бит, а из младшего загружается освободившийся CY - регистр.
Однобайтная команда десятичной настройки аккумулятора DDA (Decimal Adjust Accumulator) в два приема корректирует восьмибитное значение в аккумуляторе на две бинарно кодированные десятичные цифры с правильной установкой триггера переноса с.. содержимое аккумулятора увеличивается на 6 при условии, что младшая тетрада содержит число больше 9 или AC = 1, т.е. установлен триггер полупереноса (переполнения 3-го бита). Если после выполнения этого условия старшая тетрада содержит число больше 9 или установлен в 1 триггер переноса с, то в старшую тетераду прибавляется 6. Например, промежуточный результат двоичного сложения БКД - чисел 79 и 39 имеет вид 1011 0010 (CY = 0, AC = 1), а после выполнения команды DAA получаем (CY = 1) 0001 1000, т.е. правильный результат: 118.
|
|
Команда DAA не корректирует результат двоичного вычитания.