Изучение арифметических команд микропроцессора КР580ВМ80А: команд сложения и вычитания, инкремента и декремента, десятичной коррекции аккумулятора

Страницы работы

Содержание работы

Цель работы: изучение арифметических команд микропроцессора КР580ВМ80А: команд сложения и вычитания, инкремента и декремента, десятичной коррекции аккумулятора.

Описание арифметических команд микропроцессора, программы и заполненные таблицы.

  1. Команды сложения 8-разрядных чисел.

Общий вид команд:

ADD R – сложение содержимого регистра A, B, C, D, E, H, L;

ADD M – сложение содержимого ячейки памяти (адрес ячейки – в регистровой паре HL);

ADI d8 – сложение непосредственных данных, d8 – байт данных (второй байт команды);

ADC R – сложение содержимого регистра A, B, C, D, E, H, L с переносом;

ADC M – сложение содержимого ячейки памяти (адрес ячейки – в регистровой паре HL) с переносом;

ACI d8 - сложение непосредственных данных с переносом, d8 – байт данных (второй байт команды);

1.1. Команды ADD R, ADD M, ADI d8. При их выполнении предполагается, что 1-е слагаемое находится в аккумуляторе, 2-е - указывается в команде. Результат заносится в аккумулятор.

Программа, реализующая операцию сложения:

(A) =(A)+(B)+(M)+10H

Исходные данные: (А)F0H, (B) E0H, (0900) 0FH

Адрес

Машинный код

Мнемокод

Комментарий

0800

80

ADD B

(A) (A)+(B)

0801

21  00  09

LXI H, 0900H

(HL) 0900H

0804

86

ADD M

(A) (A)+(0900H)

0805

C6  10

ADI 10H

(A) (A)+10H

Таблица результата:

Содержимое регистра

Получено практически

Получено теоретически

A

EFH

EFH

F

82H

82H

Флаги S, Z, AC, P, CY.

1, 0, 0, 0, 0.

1, 0, 0, 0, 0.

Теоретический расчет:

          

1.2. Команды ADC R, ADC M, ACI d8. Эти команды позволяют производить суммирование многобайтных чисел длиной 16, 24 и более разрядов. При этом сложение должно производится по байтам, начиная с младшего.

Программа сложения 8-разрядных чисел:

(HL)=(DE)+(BC)

Исходные данные: (BC) FFFFH, (DE) 0001H.

Адрес

Машинный код

Мнемокод

Комментарий

0810

79

MOV A, C

(A) (C)

0811

83

ADD E

(A)  (C)+(E)

0812

6F

MOV L, A

(L) (A)

0813

78

MOV A, B

(A) (B)

0814

8A

ADC D

(A)  (B)+(D)

0815

67

MOV H, A

(A)  (B)+(D)

Таблица результата:

Содержимое регистра

Получено практически

Получено теоретически

HL

0000H

0000H

F

57H

57H

Флаги S, Z, AC, P, CY.

0, 1, 1, 1, 1.

0, 1, 1, 1, 1.

Теоретический расчет:

   

2. Команды вычитания 8-разрядных чисел.

Общий вид команд:

SUB R – вычитание регистра A, B, C, D, E, H, L;

SUB M – вычитание содержимого ячейки памяти (адрес ячейки – в регистровой паре HL);

SUI d8 – вычитание непосредственных данных, d8 – байт данных (второй байт команды);

SBB R – вычитание содержимого регистра A, B, C, D, E, H, L с заемом;

SBB M – вычитание содержимого ячейки памяти (адрес ячейки – в регистровой паре HL) с заёмом;

SBI d8 – вычитание непосредственных данных с переносом, d8 – байт данных (второй байт команды);

2.1. Команды SUB R, SUB M, SUI d8.

Программа, выполняющая операцию вычитания:

(A)=(A)-(B)-(M)-01H.

Исходные данные: (A) FFH, (B) 0FH, (0900H) F0H.

Адрес

Машинный код

Мнемокод

Комментарий

0820

90

SUB B

(A)  (A)-(B)

0821

21  00  09

LXI H, 0900H

(HL) 0900H

0824

96

SUB M

(A) (A)-(0900H)

0825

D6  01

SUI 01H

(A) (A)-01H

Таблица результата:

Содержимое регистра

Получено практически

Получено теоретически

A

FFH

FFH

F

87H

87H

Флаги S, Z, AC, P, CY.

1, 0, 0, 1, 1.

1, 0, 0, 1, 1.

Теоретический расчет:

             

2.2. КомандыSBB R, SBB M, SBI d8.  

Программа вычитания 16-разрядных чисел.

(HL)=(DE)-(BC)

Исходные данные: (DE) 6189H, (BC) 4111H.

Адрес

Машинный код

Мнемокод

Комментарий

0830

7B

MOV A, E

(A) (E)

0831

91

SUB C

(A) (A)-(C)

0832

6F

MOV L, A

(L) (A)

0833

7A

MOV A, D

(A) (D)

0834

98

SUB B

(A) (A)-(B)

0835

67

MOV H, A

(H) (A)

Таблица результата:

Содержимое регистра

Получено практически

Получено теоретически

HL

2078H

2078H

F

12H

12H

Флаги S, Z, AC, P, CY.

0, 0, 1, 0, 0.

0, 0, 1, 0, 0.

Теоретический расчет:

   

Похожие материалы

Информация о работе