Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Задание для выполнения лабораторной работы №2.docx
Скачиваний:
0
Добавлен:
26.06.2025
Размер:
58.68 Кб
Скачать

2.8. Поразрядно сравнить два числа 101100012 и в116, используя одну из команд: xra rs, xra m, xri b2.

Таблица 33 Программа поразрядного сравнения двух однобайтовых чисел (непосредственная адресация)

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3E B1

MVI A,

B1

(A) ← B1

0802

EE B1

XRI

(𝑨) ← (𝑨)⨁𝐵1

0804

FF

RST 7

Прервать выполнение

Программы

Проверить и зафиксировать в отчете содержимое регистров А, F.

A=00, F=46.

2.9. Выполнить задания пунктов 2.1 – 2.4, 2.7, 2.8 используя другие режимы адресации.

Переделанная 2.1.

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3A 00 09

LDA

0900

(A) ← M(0900)

0803

47

MOV B, A

(B) ←(A)

0804

3A 01 09

LDA

0901

(A) ←M(0901)

0807

A0

ANA B

(𝑨) ← (𝑨) ∧ (𝑴)

0808

FF

RST 7

Прервать выполнение

Программы

Переделанная 2.2

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3A 00 09

LDA

0900

(A) ← M(0900)

0803

47

MOV B, A

(B) ←(A)

0804

3A 01 09

LDA

0901

(A) ←M(0901)

0807

B0

ORA B

(A) ← (A) ∨ (B)

0808

FF

RST 7

Прервать выполнение

Программы

Переделанная 2.7.

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3A 00 09

LXI H

0900

(HL) ← 0900

0803

47

MOV C, M

(B) ←(A)

0804

3A 01 09

INR L

(L) ←L+1

0805

B0

MOV A, M

(A) ←(M)

0806

A9

XRA C

(𝑨) ← (𝑨)⨁(𝑪)

0807

FF

RST 7

Прервать выполнение

Программы

Переделанная 2.8.

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3E B1

LDA

0900

(A) ← M(0900)

0802

EE B1

XRI

B1

(𝑨) ← (𝑨)⨁𝐵1

0804

FF

RST 7

Прервать выполнение

Программы

3. Исследование команд вспомогательных логических и арифметических операций

    1. Сравнить числа 3D16 и 2216, 3D16 и 8F16, 3D16 и 3D16, используя одну из команды: CMP RS, CMP M, CPI B2.

Программа сравнения двух однобайтных чисел (регистровая адресация)

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3E 3D

MVI A,

3D

(A) ← 3D

0802

06 22

MVI B,

22

(B) ← 22

0804

B8

CMP B

0850

(F) ← (A) – (B)

0805

FF

RST 7

Прервать выполнение

Программы

Проверить и зафиксировать в отчете содержимое регистров А, B, F.

Таблица 34

Программа сравнения двух однобайтных чисел (регистровая косвенная адресация)

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

21 40 08

LXI H,

0840

(HL) ← 0840

0803

3E 3D

MVI A,

3D

(A) ← 3D

0805

36 8F

MVI M,

8F

(M) ← 8F

0807

BE

CMP M

(F) ← (A) – (M)

0808

FF

RST 7

Прервать выполнение

Программы

Проверить и зафиксировать содержимое регистров А, M, F.

Таблица 35

Программа сравнения двух однобайтных чисел (непосредственная адресация)

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3E 3D

MVI A,

3D

(A) ← 3D

0802

FE 3D

CPI

3D

(F) ← (A) – 3D

0804

FF

RST 7

Прервать выполнение

Программы

Проверить и зафиксировать в отчете содержимое регистров А, F.

Таблица 36

    1. Задан массив чисел: 0А00 ← 0116; 0А01 ← 0516; 0А02 ← 0216; 0А03 ← 0116. Пользуясь командами INX R и DCX R, определить сумму элементов массива. Перед выполнением программы необходимо ввести массив в память.

Программа поиска суммы элементов массива (команда INX R)

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

21 01 0A

LXI H,

0A01

(HL) ← 0A01

0803

3A 00 0A

LDA

0A00

(A) ← (0A00)

0806

86

ADD M

(A) ← (A) + (M)

0807

23

INX H

(HL) ← (HL) + 1

0808

86

ADD M

(A) ← (A) + (M)

0809

23

INX H

(HL) ← (HL) + 1

080A

86

ADD M

(A) ← (A) + (M)

080B

FF

RST 7

Прервать выполнение

Программы

Программа поиска суммы элементов массива (команда DCX R)

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

21 02 0A

LXI H,

0A02

(HL) ← 0A02

0803

3A 03 0A

LDA

0A03

(A) ← (0A03)

0806

86

ADD M

(A) ← (A) + (M)

0807

2B

DCX H

(HL) ← (HL) – 1

0808

86

ADD M

(A) ← (A) + (M)

0809

2B

DCX H

(HL) ← (HL) – 1

080A

86

ADD M

(A) ← (A) + (M)

080B

FF

RST 7

Прервать выполнение Программы

Проверить и зафиксировать в отчете содержимое регистров А, F.

Таблица 37

Таблица 38

    1. Задан массив чисел: 0А00 ← 0116; 0А01 ← 0516; 0А02 ← 0216; 0А03 ← 0116. Пользуясь командами INR M и DCR M уменьшить 1 и 2 элементы массива на единицу, 3 и 4 элементы массива увеличить на единицу. Перед выполнением программы необходимо ввести массив в память.

Таблица 39

Программа уменьшения и увеличения на 1 элементов массива

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

21 00 0A

LXI H,

0A00

(HL) ← 0A00

0803

35

DCR M

0A03

(M) ← (M) – 1

0804

23

INX H

(HL) ← (HL) + 1

0805

35

DCR M

(M) ← (M) – 1

0806

23

INX H

(HL) ← (HL) + 1

0807

34

INR M

(M) ← (M) + 1

0808

23

INX H

(HL) ← (HL) + 1

0809

34

INR M

(M) ← (M) + 1

080A

FF

RST 7

Прервать выполнение

Программы

Проверить правильность выполнения программы. Записать исходный и модифицированный массивы данных.

    1. Определите сумму трех однобайтных чисел, находящихся по адресам 0921 (0316), 0A10 (0516), 0BC9 (0116), пользуясь командой сложения содержимого регистровых пар DAD R. Предварительно необходимо записать числа в память.

Программа поиска суммы чисел массива

Адрес

Машинный

код

Мнемоника

команды

Операнд

Комментарий

0800

3E 00

MVI A,

00

(A) ← 00

0802

21 21 09

LXI H,

0921

(HL) ← 0921

0805

86

ADD M

(A) ← (A) + (M)

0806

01 EF 00

LXI B,

00EF

(BC) ← 00EF

0809

09

DAD B

(HL) ← (HL) + (BC)

080A

86

ADD M

(A) ← (A) + (M)

080B

11 B9 01

LXI D,

01B9

(DE) ← 01B9

080E

19

DAD D

(HL) ← (HL) + (DE)

080F

86

ADD M

(A) ← (A) + (M)

0810

FF

RST 7

Прервать выполнение

Программы

Проверить правильность выполнения программы. Записать содержимое регистров A, F, M, регистровых пар HL, BC, DE.