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


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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



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

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

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

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

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

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

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

Команды 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 и старший разряд аккумулятора, остальные биты сдвигаются на один разряд вправо;

 

 

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

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

 

 

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

 

Группа логических команд

При выполнении логических команд в аккумулятор заносится результат логической операции над операндом-источником и аккумулятором. Операндом-источником может быть регистр, ячейка памяти или константа, которая в этом случае записывается в следующем за кодом команды байте.

К логическим командам относятся:

ANA SRС - "Логическое И" содержимого аккумулятора и операнда-источника.

Пример: пусть надо выполнить операцию логического И над двумя числами, находящимися в памяти по адресам 0861 и 0860. Результат надо оставить в регистре А (аккумуляторе). При выполнении логических команд операции выполняются побитово, т.е. 7-й бит результата определяется 7-м битом обоих операндов, 6-й бит результата — 6-м битом обоих операндов и т.д. см. таблицу__

 

Адрес Команда Содержимое ячеек памяти Комментарии
  LXI B   BC<-­0860
       
       
  LDAX B 0A A<-­M(BC)<-­3E
  LXI H    
      HL<-­0861
       
  MOV D, M   D <­- M(HL)<-­ A8
  ANA D A2 A<-­ A&D<­- 28
...      
  3E  
  А8 A8  

 

Операцию побитового И поясняет таблица:

Таблица

  A=3E                
  D=A8                
А A=28                

 

ORA SRС - "Логическое ИЛИ" содержимого аккумулятора и операнда-источника;

XRA SRC - "Исключающее ИЛИ" (сложение по модулю 2) содержимого аккумулятора и операнда-источника;

СМР SRC - сравнение содержимого аккумулятора и операнда-источника. При выполнении этой операции операнд вычитается из содержимого аккумулятора без изменения участвующих в операции операндов. Состояние битов флагового регистра устанавливается по результату вычитания, т.е. результатом является установка флагов.

ANI D8 - "Логическое И " содержимого аккумулятора и константы D8, следующей во втором байте команды;

ORI D8 - "Логическое ИЛИ" содержимого аккумулятора и константы;

XRI D8 - " Исключающее ИЛИ" (сложение по модулю 2) содержимого аккумулятора и константы;

CPI D8 - сравнение содержимого аккумулятора с константой. При выполнении этой операции константа вычитается из содержимого аккумулятора без изменения участвующих в операции операндов. Состояние битов условий устанавливается.



Поделиться:


Последнее изменение этой страницы: 2016-06-28; просмотров: 461; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 100.26.135.252 (0.007 с.)