Лабораторная 2 Усачёв
.docxМИНОБРНАУКИ РОССИИ
«Челябинский государственный университет»
(ФГБОУ ВПО «ЧелГУ»)
Физический факультет
Кафедра радиофизики и электроники
ЛАБОРАТОРНАЯ РАБОТА №2
ВЫПОЛНИЛ СТУДЕНТ |
|||
|
|||
Четков В.Н. |
|||
|
|||
Академическая группа |
ФФ-404 |
Курс |
4 |
|
|||
(подпись)
« » 2025г. |
|||
|
|||
ПРОВЕРИЛ |
|||
|
|||
Усачев В.К. |
|||
|
|||
|
|||
ОЦЕНКА: |
|||
|
|||
|
|||
(подпись)
« » 2025г. |
|||
Челябинск
2025
ЦЕЛЬ РАБОТЫ: Программирование и отладка программ с использованием флагов, переходов и циклов.
Сравнить содержимое ячеек памяти с адресами 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 |
Выход в монитор |
Переместить массив размерностью 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
Выход в монитор
Поменять местами два массива из 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 |
Выход в монитор |
Обнулить область памяти объемом 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 |
Выход в монитор |
Вычислить сумму нечетных чисел, находящихся в памяти из 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 |
Выход в монитор |
Вывод: Программирование и отладка программ с использованием флагов, переходов и циклов.
