Представлением операнда

Функция Перевод Мнемоника
Сложить со вторым байтом команды 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 не корректирует результат двоичного вычитания.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: