Группа арифметических команд


 

Арифметические команды обеспечивают выполнение операций сложения и вычитания, а также изменение операнда на единицу.

Арифметические операции можно разделить на следующие группы:

1. операции с одним операндом, регистром или регистровой парой;

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

Арифметические команды изменяют состояние битов условий флагового регистра.

 

Команды сложения

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

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

ADD SRC - сложение содержимого аккумулятора с регистром или ячейкой памяти, например ADD В означает, что в аккумулятор помещается результат сложения аккумулятора и регистра В (А<­-А+В)

ADC SRC - сложение содержимого аккумулятора, операнда-источника и бита CY признакового регистра F (A<-­ A+SRC+CY(F)).

 

Пример: сложить 2 двухбайтных числа (35A0 и 67В2) результат поместить в регистровую пару BC.

А0

+67В2

D52

 

Адрес Команда Содержание ячейки памяти Комментарий
LXI B   BC<­-35A0  
A0 A0
LXI D   DE<­-67B2  
B2  
 
MOV A, C   A <-­ A0
ADD E   A<-­ A+E
MOV C, A   C<­ -A
MOV A, B   A<­- B
080А ADC D   A<-­ A+D+CY
080В MOV B, A   B<-­ A

 

ADI D8 - сложение содержимого аккумулятора с константой, при этом константа содержится во втором байте команды (A<­ A+D8);

ACI D8 - сложение содержимого аккумулятора с константой и битом CY признакового регистра F.

 

Пример: составить программу, рассмотренную в предыдущем примере, но считая второе слагаемое константой.

 

Адрес Команда Содержание ячейки памяти Комментарий
LXI B   BC<­-35A0  
A0 A0
MOV A, C   A<­-C
ADI   A <-­ A+B2
B2 В2  
MOV C, A   C<­- A
MOV A, B    
ACI   A<-­ A+67+CY
 
080А MOV B, A   B<-­ A

 

DAD RP - сложение содержимого регистровой пары RP с регистровой паройНL. Результат сложения записывается в паруНL, эта команда изменяет только состояние бита СУ в признаковом регистре (например: DAD B: HL<- HL+BC).

 

Команды вычитания.

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

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

SUB SRC-вычитание из содержимого аккумулятора содержимого регистра или ячейки памяти, адрес которой определяется содержимым регистровой пары HL (A<­ A-SRC).

SBB SRC-вычитание из содержимого аккумулятора операнда-источника и бита CY (A<­ A-SRC-CY(F)).

SUI D8-вычитание константы из содержимого аккумулятора;

SBI D8-вычитание из содержимого аккумулятора значения бита CYи константы.

Эти команды изменяют все биты условий.

 



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


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

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

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

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