Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ (украинская) ДРУК.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.86 Mб
Скачать

5. Лабораторна робота № 4. Виконання арифметичних і логічних операцій з багатобайтнимі цілими числами

Мета роботи

Придбання навиків в роботі з багатобайтними цілими числами.

Загальні відомості

Основними арифметичними операціями при роботі з багатобайтними числами є складання і віднімання. При цьому, виконуючи складання, треба враховувати біт перенесення (біт С регістра стану), отриманий в молодших розрядах, а при виконанні віднімання – позики (біт С регістра стану).

Команда складання з перенесенням (ADC, ACI) і віднімання з позикою (SBB, SBI) застосовується в тих випадках, коли базової довжини слова мікропроцесора недостатньо і доводиться вводити багаторозрядні числа з послідовною обробкою окремих байтів. У пам'яті такі числа зберігаються в суміжних комірках і адресуються за молодшим байтом.

Для виконання дії складання двобайтових чисел можна використовувати команду DAD – складання багатобайтних чисел з урахуванням позики/перенесення.

При виконанні операцій ділення і множення багатобайтних чисел на числа кратні 2 можуть бути також використані команди арифметичного зсування RAR і RAL. Для обміну бітами між сусідніми байтами використовується біт позики/перенесення С регістра стану. Причому, при діленні на 2 зсування вправоруч (RAR) необхідно починати із старшого байта, а при множенні – зсування вліворуч (RAL) з молодшого.

Логічні операції з багатобайтними цілими числами виконуються аналогічно однобайтним, при цьому операції виконуються між однойменними байтами числа. В процесі виконання логічних операцій позик і перенесень між байтами чисел не виникає.

Порядок виконання роботи

Увімкнути ПЕВМ. Увійти до робочого середовища Windows під своїм паролем. Для запуску емулятора завантажте програму k120.bat з директорії c:\Program files\int8080.

Виконати наступні обов'язкові завдання

Завдання 4.1. Написати програму для вирішення такого математичного виразу:

[(04AC0FH + EC05H) : 2 – 115BH ∙ 4]→( ) (5.1)

Лістинг програми з докладними коментарями приведений в таблиці 4.1.

Результат роботи програми показати викладачеві.

Завдання 4.2. Написати програму для вирішення такого математичного виразу:

[(2101)(2100) ∙ 5]→( ) (5.2)

Лістинг програми з докладними коментарями приведений в таблиці 4.2.

Результат роботи програми показати викладачеві, заздалегідь завантаживши в комірки (2100) і (2101) відповідно 50Н і 60Н.

Завдання 4.3. Написати програму для вирішення такого математичного виразу:

[1780H (2101)(2100) (2103)(2102)]→( ) (5.3)

Лістинг програми з докладними коментарями приведений в таблиці 4.3.

Результат роботи програми показати викладачеві, заздалегідь завантаживши в комірки (2100), (2101), (2102), (2103) відповідно 10Н, 20Н, 30Н і 40Н.

Таблиця 5.1

Адреса

Код

Мнемоніка

Коментар

виконати дію 115ВН ∙ 4Н

2200

3E 5B

MVI A, 5BH

5BH→(A)

2202

B7

ORA A

Біт С=0

2203

17

RAL

(A) ∙ 2→(A)

2204

6F

MOV L, A

(A)→(L)

2205

3 11

MVI A, 11H

11H→(A)

2207

17

RAL

(A) ∙ 2→(A)

2208

67

MOV H, A

(A)→(H)

2209

7D

MOV A, L

(L)→(A)

220A

B7

ORA A

Біт С=0

220B

17

RAL

(A) ∙ 2→(A)

220C

6F

MOV L, A

(A)→(L)

220D

7C

MOV A, H

(H)→(A)

220E

17

RAL

(A) ∙ 2→(A)

220F

67

MOV H, A

(A)→(H)

виконати дію 04AC0FH+EC05

2210

3E 0F

MVI A, 0FH

0FH→(A)

2212

C6 05

ADI 05H

(A)+05H→(A)

2214

5F

MOV E, A

(A)→(E)

2215

3E AC

MVI A, 0ACH

ACH→(A)

2217

CE EC

ACI 0ECH

(A)+ECH+Біт С→(А)

2219

57

MOV D, A

(A)→(D)

221A

3E 04

MVI A, 04H

04H→(A)

221C

CE 00

ACI 00H

(A)+0+ Біт С→(А)

виконати дію (04AC0FH+EC05):2

221E

B7

ORA A

Біт С=0

221F

1F

RAR

(A):2→(A)

2220

4F

MOV C, A

(A)→(C)

2221

7A

MOV A, D

(D)→(A)

2222

1F

RAR

(A):2→(A)

2223

57

MOV D, A

(A)→(D)

2224

7B

MOV A, E

(E)→(A)

2225

1F

RAR

(A):2→(A)

виконати дію (04АС0FH + ЕС05) : 2 - 115ВН ∙ 4

2226

95

SUB L

(A)-(L)→(A)

2227

32 02 21

STA 2102H

(A)→(2102)

222A

7A

MOV A, D

(D)→(A)

222B

9C

SBB H

(A)-(H)-Біт С→(A)

222C

32 01 21

STA 2101H

(A)→(2101)

222F

79

MOV A, C

(C)→(A)

2230

DE 00

SBI 00H

(A)-0-Біт С→(A)

2232

32 00 21

STA 2100H

(A)→(2100)

2235

76

HLT

зупинення

Таблиця 5.2

Адреса

Код

Мнемоніка

Коментар

виконати дію (2101)(2100) • 4

2200

2A 0021

LHLD 2100H

(2100)→(L);(2101)→(H)

2203

7D

MOV A, L

(L)→(A)

2204

B7

ORA A

Біт С=0

2205

17

RAL

(A)2→(A)

2206

4F

MOV C, A

(A)→(C)

2207

7C

MOV A, H

(H)→(A)

2208

17

RAL

(A)2→(A)

2209

47

MOV B, A

(A)→(B)

220A

B7

ORA A

Біт С=0

220B

79

MOV A, C

(C)→(A)

220C

17

RAL

(A)2→(A)

220D

4F

MOV C, A

(A)→(C)

220E

78

MOV A, B

(B)→(A)

220F

17

RAL

(A)2→(A)

2210

47

MOV B, A

(A)→(B)

виконати дію (2101)(2100) • 4+(2101)(2100)

2211

09

DAD B

(HL)+(BC)→(HL)

2212

22 02 21

SHLD 2102H

(H)→(2103);(L)→(2102)

2215

76

HLT

зупинення

Таблиця 5.3

Адреса

Код

Мнемоніка

Коментар

2200

3A 00 21

LDA 2100H

(2100)→(A)

2203

EE 80

XRI 80H

(A) 80H→(A)

2205

47

MOV B, A

(A)→(B)

2206

3A 02 21

LDA 2102H

(2102)→(A)

2209

A8

XRA B

(A) (B)→(A)

220A

32 04 21

STA 2104H

(A)→(2104)

220D

3A 01 21

LDA 2101H

(2101)→(A)

2210

EE 17

XRI 17H

(A) 17H→(A)

2212

47

MOV B, A

(A)→(B)

2213

3A 03 21

LDA 2103H

(2103)→(A)

2216

A8

XRA B

(A) (B)→(A)

2217

32 05 21

STA 2105H

(A)→(2105)

221A

76

HLT

зупинення

Завдання 4.4. Самостійно написати програму для вирішення математичного виразу згідно варіанту (таблиця 4.4).

Таблиця 5.4

варіанту

Завдання

Дані для перевірки

1

[(2103)(2102) : 2] – [(2101)(2100) ∙ 5] → ( )

90Н→(2100);64Н→(2101);

77Н→(2102); 62Н→(2103)

2

[(2101)(2100) : 3] – [(2103)(2102) ∙ 2,25 +8785H] → ( )

55Н→(2100);95Н→(2101);

77Н→(2102); 12Н→(2103)

3

[(2107)(2106) – E2E4H]  [FF01H + (2101)(2100)] → ( )

14Н→(2100);55Н→(2101);

92Н→(2102); 67Н→(2103)

4

[(2103)(2102) : 2] + (2101)(2100) ∙ 2 – 1732H → ( )

80Н→(2100);FE→(2101);

34Н→(2102); 99Н→(2103)

5

[(2103)(2102)] · 5,125 – (2101)(2100) → ( )

30Н→(2100);04Н→(2101);

88Н→(2102); 97Н→(2103)

6

{E087H – [(2101)(2100)]} : 6 → ( )

70Н→(2100);49Н→(2101)

7

[(2103)(2102) : 3] – [(2101)(2100) : 4] → ( )

90Н→(2100);64Н→(2101);

77Н→(2102); 62Н→(2103)

8

[3A45H – (2101)(2100)] + (2103)(2102) ∙ 2,5→ ( )

F1→(2100);BC→(2101);

D4→(2102); 69Н→(2103)

9

3365H – (2101)(2100) : 2 + [(2103)(2102) ∙ 4]→ ( )

AA→(2100);D6→(2101);

27Н→(2102); 67Н→(2103)

10

[(2103)(2102) – (2101)(2100)] · 3,125 → ( )

69Н→(2100);66Н→(2101);

44Н→(2102); 92Н→(2103)

11

[D53AH – (2101)(2100)] ∙ 8,5 → ( )

33Н→(2100);74Н→(2101)

12

[(2101)(2100) : 2 +3435H] – A53FH → ( )

88Н→(2100);45Н→(2101)

13

[35DAH : 2]  [(2101)(2100) – 9999H] → ( )

11Н→(2100);69Н→(2101)

14

[(2103)(2102) – (2101)(2100)] · 4,5 → ( )

40Н→(2100);69Н→(2101);

75Н→(2102); 57Н→(2103)

15

[(2103)(2102) – BA98H] – [6347H  (2101)(2100)] → ( )

12Н→(2100);6C→(2101);

DE→(2102); 09Н→(2103)

16

[8897H · 2,125]  [(2101)(2100) + 2784H]→ ( )

78Н→(2100);97Н→(2101)

17

{1050H + [(2101)(2100)]} · 4 → ( )

99Н→(2100);77Н→(2101)

18

[ (2101)(2100)] · 2 +[(2103)(2102) - 1578H] → ( )

56Н→(2100);76Н→(2101);

45Н→(2102); 88Н→(2103)

Продовження таблиці 5.4

19

[(2101)(2100) : 4]  (2103)(2102)→ ( )

E4→(2100);51Н→(2101);

DA→(2102); 32Н→(2103)

20

(2101)(2100) + 4580H –[(2103)(2102) : 2]→ ( )

70Н→(2100);69Н→(2101);

67Н→(2102); 42Н→(2103)

21

[(2101)(2100) V (2103)(2102)] · 5 → ( )

99Н→(2100);44Н→(2101);

72Н→(2102); 68Н→(2103)

22

[(2101)(2100)  2045H] : 4 → ( )

05Н→(2100);12Н→(2101)

23

[(2101)(2100) - 2550H] V 2050H → ( )

99Н→(2100);67Н→(2101);

24

[(2101)(2100) + 9530H]  (2103)(2102) → ( )

D5→(2100);11Н→(2101);

97Н→(2102); CF→(2103)

25

[(2101)(2100) - (2103)(2102)] · 3 → ( )

87Н→(2100);33Н→(2101);

43Н→(2102); 11Н→(2103)

26

[2055H + (2101)(2100)] - [FE70H V 7868H] → ( )

0D→(2100);FE→(2101)

27

[(2101)(2100) - 159AH] V [40F5H · 2]→ ( )

97Н→(2100); 55Н→(2101)

28

[(2101)(2100) + 350FH] - [(2103)(2102) : 2]→ ( )

55Н→(2100);68Н→(2101);

27Н→(2102); 82Н→(2103)

29

[175AH · 2] V [ (2101)(2100) : 2] → ( )

98Н→(2100);64Н→(2101)

30

[(2101)(2100)  (2103)(2102)] : 4 → ( )

8D→(2100);69Н→(2101);

33Н→(2102); BE→(2103)

Зміст звіту

Тема, мета роботи.

Лістинги програм написаних самостійно і перевірка.

Висновки.

Контрольні запитання

Виконання складання і віднімання багатобайтных цілих чисел.

Виконання ділення і множення на число кратне 2 багатобайтного цілого числа.

Призначення біта позики/перенесення регістра стану при виконанні арифметичних дій з багатобайтними цілими числами.

Виконання логічних операцій над багатобайтними цілими числами.

Написання програм для вирішення арифметичних рівнянь.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]