Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная 2 Усачёв

.docx
Скачиваний:
0
Добавлен:
10.12.2025
Размер:
33.57 Кб
Скачать

МИНОБРНАУКИ РОССИИ

«Челябинский государственный университет»

(ФГБОУ ВПО «ЧелГУ»)

Физический факультет

Кафедра радиофизики и электроники

ЛАБОРАТОРНАЯ РАБОТА №2

ВЫПОЛНИЛ СТУДЕНТ

Четков В.Н.

Академическая группа

ФФ-404

Курс

4

(подпись)

« » 2025г.

ПРОВЕРИЛ

Усачев В.К.

ОЦЕНКА:

(подпись)

« » 2025г.

Челябинск

2025

ЦЕЛЬ РАБОТЫ: Программирование и отладка программ с использованием флагов, переходов и циклов.

  1. Сравнить содержимое ячеек памяти с адресами 0900 и 0901; если они равны, то в ячейку 0902 записать 1, в противном случае – 0.

Адрес

Код

Мнемоника

Комментарии

0800

3A

LDA, 0900

(A) ← [0900]

0801

00

0802

09

0803

47

MOV B, A

(B) ← (A)

0804

3A

LDA, 0901

(A) ← [0901]

0805

01

0806

09

0807

B8

CMP B

(A) - (B)

0808

CA

JZ, 0811

Переход, если результат ноль (Z=1)

0809

11

080A

08

080B

3E

MVI A, 00

(A) ← (00)

080C

00

080D

32

STA, 0902

[0902] ← (A)

080E

02

080F

09

0810

C3

JMP, 0814

(PC) ← (0814)

0811

14

0812

08

0813

3E

MVI A, 01

(A) ← (01)

0814

01

0815

32

STA, 0902

[0902] ← (A)

0816

02

0817

09

0818

FF

RST 7

Выход в монитор

  1. Переместить массив размерностью 16 ячеек из области памяти с начальным адресом 0900 в область памяти с начальным адресом 0А00.

    Адрес

    Код

    Мнемоника

    Комментарии

    0800

    0E

    MVI C, 10

    (C) ← (10ₕ)

    0801

    10

    0802

    21

    LXI H, 0900

    (L) ← (00), (H) ← (09)

    0803

    00

    0804

    09

    0805

    7E

    MOV A, M

    (A) ← [(HL)]

    0806

    24

    INR H

    (H) ← (H) + 1

    0807

    77

    MOV M, A

    [(HL)] ← (A)

    0808

    25

    DCR H

    (H) ← (H) − 1- декрементирование

    0809

    2C

    INR L

    (L) ← (L) + 1- инкрементирование

    080A

    0D

    DCR C

    (C) ← (C) – 1 - декрементирование

    080B

    C2

    JNZ, 0805

    Переход, если результат не ноль (Z=0)

    080C

    05

    080D

    08

    080D

    FF

    RST 7

    Выход в монитор

  2. Поменять местами два массива из 16 8-разрядных ячеек памяти каждый. Начальные адреса массивов 0900 и 0А00.

Адрес

Код

Мнемоника

Комментарий

0800

0E

MVI C,10

(C) ← (10ₕ)

0801

10

0802

21

LXI H,0900

(L) ← (00), (H) ← (09)

0803

00

0804

09

0805

7E

MOV A,M

(A) ← [(HL)]

0806

24

INR H

(H) ← (H) + 1 - инкрементирование

0807

46

MOV B,M

(B) ← [(HL)]

0808

77

MOV M,A

[(HL)] ← (A)

0809

25

DCR H

(H) ← (H) − 1

080A

70

MOV M,B

[(HL)] ← (B)

080B

2C

INR L

(L) ← (L) + 1 - инкрементирование

080C

0D

DCR C

(C) ← (C) − 1- декрементирование

080D

C2

JNZ, 0805

Переход, если результат не ноль (Z=0)

080E

05

080F

08

0810

FF

RST 7

Выход в монитор

  1. Обнулить область памяти объемом 256 ячеек с начальным адресом 0900.

Адрес

Код

Мнемоника

Комментарии

0800

0E

MVI C, 00

(C) ← (00)

0801

00

0802

21

LXI H, 0900

(L) ← (00), (H) ← (09)

0803

00

0804

09

0805

3E

MVI A, 00

(A) ← (00)

0806

00

0807

77

MOV M, A

[(HL)] ← (A)

0808

2C

INR L

(L) ← (L) + 1- инкрементирование

0809

0D

DCR C

(C) ← (C) – 1 - декрементирование

080A

C2

JNZ, 0806

Переход, если результат не ноль (Z=0)

080B

06

080C

08

080D

FF

RST 7

Выход в монитор

  1. Вычислить сумму нечетных чисел, находящихся в памяти из 16 ячеек с начальным адресом 0900.

Адрес

Код

Мнемоника

Комментарии

0800

0E

MVI C, 10

(C) ← (10ₕ)

0801

10

0802

06

MVI B, 00

(B) ← (00)

0803

00

0804

21

LXI H, 0900

(L) ← (00), (H) ← (09)

0805

00

0806

09

0807

7E

MOV A, M

(A) ← [(HL)]

0808

0F

RRC

Сдвиг вправо

0809

DA

JC, 080A

Если есть перенос (СY=1), то переход

080A

0A

080B

08

080C

2C

INR L

(L) ← (L) + 1 - инкрементирование

080D

0D

DCR C

(C) ← (C) − 1 - декрементирование

080E

C2

JNZ, 0805

Переход, если результат не ноль (Z=0)

080F

05

0810

08

0811

81

ADD B

(A) ← (A) + (B)

0812

32

STA, 0950

[0950ₕ] ← (A)

0813

50

0814

09

0815

FF

RST 7

Выход в монитор

Вывод: Программирование и отладка программ с использованием флагов, переходов и циклов.