Окончание приложения D
Рисунок - 1. Подробная блок-схема алгоритма решения задачи
Приложение E
Таблица
Описание программы на языке Ассемблера и в машинных кодах МП КР580ВМ80А
Метка
| Адрес
| Данные
| Ассемблер
| Мнемоника
| Комментарии
|
|
|
|
|
|
|
М4
М1
|
080A
080B
080С
…
081A
081B
081C
081D
081E
081F
…
|
0A
0A
0A
…
C2
3A
0A
3A
0A
CA
2A
0A
…
| LXI H, 0900
LXI D, 0A00
LXI B, 0A60
INX D
SHLD 0A03
…
SUB D
JNZ 0827
LDA 0A04
MOV D, A
LDA 0A06
SUB D
JZ 0842
LHLD 0A05
…
| (HL)←0900
(DE)←0A00
(BC)←0A60
(DE)←(DE)+1
M(0A03)←(L)
M(0A04)←(H)
…
(A)←(A) – (D)
JMP if Z=0
(A)←M(0A04)
(D)←(A)
(A)←M(0A06)
(A)←(A) – (D)
JMP if Z=1
(L)←M(0A05)
(H)←M(0A06)
…
| Загрузить в (HL) начальный адрес массива данных
Загрузить в (DE) конечный адрес массива данных
Загрузить в (BC) начальный адрес неисправных ячеек
Инкр. содерж. (DE)
Записать содерж. (HL) в ячейки 0A03 и 0A04
…
Вычесть из (A) (D).
Перейти на метку М1 (0827), если Z=0
Загрузить содерж. 0А04 в аккумулятор (А)
Переслать (A) в (D)
Загрузить содерж. 0А06 в аккумулятор (А)
Вычесть из (A) (D).
Перейти на метку М2 (0842), если Z=1
Загрузить (HL) из ячеек 0А05 и 0А06
…
|
Окончание прил. E
Окончание таблицы
|
|
|
|
|
|
М3
М2
| 083А
083B
083C
083D
083E
083F
|
7C
C3
0A
6F
FF
FF
| INX B
MOV A, H
STAX B
INX B
INX H
JMP 080A
MOV A, C
MOV L, A
MOV A, B
MOV H, A
MVI M, FF
RST 7
| (BC) ←(BC)+1
(A)←(H)
M(BC)←(A)
(BC)←(BC)+1
(HL)←(HL)+1
(PC)←080A
(A)←(C)
(L)←(A)
(A)←(B)
(H)←(A)
M(HL)←FF
| Инкр. содерж. (BC)
Переслать (H) в (A)
Загрузить содерж. (А) в ячейку, адрес которой указан в (BC)
Инкр. содерж. (BC)
Инкр. содерж. (HL)
Безусловный переход на метку М4 (080А)
Переслать (C) в (A)
Переслать (A) в (L)
Переслать (B) в (A)
Переслать (A) в (H)
Записать в ячейку, адрес которой указан в (HL) код FF
Останов
|