Группа арифметических команд
Арифметические команды обеспечивают выполнение операций сложения и вычитания, а также изменение операнда на единицу.
Арифметические операции можно разделить на следующие группы:
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; просмотров: 381;