Команды изменения операнда на 1.


Команды изменения операнда на единицу предназначены для увеличения или уменьшения операнда на единицу. Операндом может являться содержимое регистра, ячейки памяти или регистровой пары.

Эти команды часто применяются для организации счетчиков или изменения адресов, используемых при косвенной адресации (обработка массивов, матриц, строк и т.п.).

INR SRC - увеличение на 1 содержимого регистра или ячейки памяти, адресуемой содержимым регистровой пары HL;

DCRSRC- уменьшение на единицу содержимого регистра или ячейки памяти.

Команды INRи DCRизменяют состояние всех флагов, кроме бита CY.

INX RP-увеличение на единицу содержимого регистровой пары. В этом случае число в регистровой паре рассматривается как 16-разрядный операнд;

DCXRP-уменьшение на единицу содержимого регистровой пары.

КомандыINX и DCXне изменяют состояние битов условий.

DAA – команда десятичной коррекции. Применяется для работы с двоично-десятичными числами.

При выполнении команды DAA 8-битное число в аккумуляторе рассматривается как две 4-битные десятичные двоично-кодированные цифры. Коррекция содержимого аккумулятора производится по следующим правилам:

- если значение младшей тетрады аккумулятора больше 9 или флаг вспомогательного переноса АСравен 1, то к содержимому аккумулятора добавляется число 6;

- если значение старшей тетрады аккумулятора бо

льше 9 или если признак переносаCY равен 1, то к содержимому аккумулятора добавляется число96 или к старшей тетраде прибавляется 6.

 

Команды сдвигов.

Команды сдвигов выполняются над расширенным 9-битным операндом, состоящим из аккумулятора и бита CY признакового регистра F. Операции сдвигов часто используются для умножения на число, представляющее собой степень 2, т.е. на числа 2; 4; 8; 0,5; 0,25; 0,125...

Сдвиг на один разряд влево равносилен умножению операнда на 2, а сдвиг вправо - делению операнда на 2. При этом необходимо помнить, что младший разряд при сдвиге влево (или старший разряд при сдвиге вправо) должен заполняться 0 для положительных чисел и 1 - для отрицательных.

К командам сдвига относятся:

RRC - циклический сдвиг вправо. Значение младшего бита аккумулятора заносится одновременно в бит CY признакового регистра F и старший разряд аккумулятора, остальные биты сдвигаются на один разряд вправо;

 

Рисунок. 4.4. Цклический сдвиг вправо

 

 

RLC - циклический сдвиг влево. Значение старшего бита заносится одновременно в бит CY признакового регистра F и младший бит аккумулятора, остальные разряды сдвигаются на один разряд влево;

RAR - арифметический сдвиг вправо. Значение младшего бита заносится в бит CY. Значение бита CY заносится в старший разряд аккумулятора, остальные биты сдвигаются на один разряд вправо;

 

Рисунок 4.5. Арифметический сдвиг вправо

 

RAL - арифметический сдвиг влево. Значение старшего бита заносятся в бит CY. Значение бита CY заносится в младший разряд аккумулятора, остальные биты сдвигаются на один разряд влево.

 



Дата добавления: 2021-09-07; просмотров: 377;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.009 сек.