Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПМСУ1(8).doc
Скачиваний:
39
Добавлен:
13.05.2015
Размер:
812.54 Кб
Скачать
  1. Листинг программы:

Адрес

Метка

Машинный код

Асс. код

Комментарии

0800

3E

MVI A, 00h

Сброс триггеров

0801

00

0802

D3

OUT В1

0803

В1

0804

D3

OUT В2

0805

B2

0806

3E

MVI A, 54h

КИ1

0807

54

0808

D3

OUT 98

0809

98

080A

D3

OUT 9C

080B

9C

080C

3E

MVI A, 08h

КИ2

080D

08

080E

D3

OUT 99

080F

99

0810

D3

OUT 9D

0811

9D

0812

3E

MVI A, 81h

КИ3 MASTER

0813

81

0814

D3

OUT 99

0815

99

0816

3E

MVI A, 07h

КИ3 SLAVE

0817

07

0818

D3

OUT 9D

0819

9D

081A

3E

MVI A, E5h

КО1 MASTER

081B

E5

081C

D3

OUT 99

081D

99

081E

3E

MVI A, FFh

КO1 SLAVE

081F

FF

0820

D3

OUT 9D

0821

9D

0822

3E

MVI A, C2h

КО2д

0823

C2

0824

D3

OUT 98

0825

98

0826

FB

EI

Разрешение прерываний

0827

M2

11

LXI D, 08D7

Инициализация указателя 1 на массив букв

0828

D7

0829

08

082A

21

LXI H, 0BFA

Инициализация указателя 2 на ячейки 0ВFA-0BFF

082B

FA

082C

0B

082D

M1

1A

LDAX D

Перенос содержимого массива в аккумулятор

082E

77

MOV M, A

Перенос содержимого аккумулятора в ячейку по второму указателю

082F

13

INX D

Инкремент указателя 1

0830

2C

INR L

Инкремент указателя 2

0831

C2

JNZ M1

Проверка адреса указателя 2

0832

2D

0833

08

0834

CD

CALL 01C8

Вывод слова

на индикаторы

0835

C8

0836

01

0837

C3

JMP M2

Переход по указанному адресу

0838

27

0839

08

083A

083B

083C

083D

083E

083F

0840

Начало таблицы векторов (НТВ)

IRQ0

0841

0842

0843

0844

C3

JMP M3

IRQ1

вывод НОЧЬ

0845

60

0846

08

0847

0848

IRQ2

0849

084A

084B

084C

C3

JMP M6

IRQ3

вывод БЕРЕГ

084D

85

084E

08

084F

0850

C3

JMP M9

IRQ4

вывод НЕБО

0851

AE

0852

08

0853

0854

IRQ5

0855

0856

0857

0858

IRQ6

0859

085A

085B

085C

IRQ7

085D

085E

085F

0860

M3

FB

EI

Разрешение прерываний

0861

F5

PUSH PSW

Сохранение текущей информации в стек

0862

C5

PUSH B

0863

D5

PUSH D

0864

E5

PUSH H

0865

0E

MVI C, F0

Инициализация счетчика

0866

F0

0867

M5

11

LXI D, 08DD

Инициализация указателя на массив букв

0868

DD

0869

08

086A

21

LXI H, 0BFA

Инициализация указателя на ячейки 0ВFA-0BFF

086B

FA

086C

0B

086D

M4

1A

LDAX D

Перенос содержимого массива в аккумулятор

086E

77

MOV M, A

Перенос содержимого аккумулятора в ячейку по второму указателю

086F

13

INX D

Инкремент указателя 1

0870

2C

INR L

Инкремент указателя 2

0871

C2

JNZ M4

Проверка адреса указателя 2

0872

6D

0873

08

0874

CD

CALL 01C8

Вывод

0875

C8

0876

01

0877

0D

DCR C

Декремент счетчика

0878

C2

JNZ M5

Проверка счетчика

0879

67

087A

08

087B

3E

MVI A, 20

КО2a

087C

20

087D

D3

OUT 98

087E

98

087F

E1

POP H

Извлечение информации из стека

0880

D1

POP D

0881

C1

POP B

0882

F1

POP PSW

0883

C9

RET

Возврат

0884

0885

M6

FB

EI

Разрешение прерываний

0886

F5

PUSH PSW

Сохранение текущей информации в стек

0887

C5

PUSH B

0888

D5

PUSH D

0889

E5

PUSH H

088A

0E

MVI C, F0

Инициализация счетчика

088B

F0

088C

M8

11

LXI D, 08E3

Инициализация указателя на массив букв

088D

E3

088E

08

088F

21

LXI H, 0BFA

Инициализация указателя на ячейки 0ВFA-0BFF

0890

FA

0891

0B

0892

M7

1A

LDAX D

Перенос содержимого массива в аккумулятор

0893

77

MOV M, A

Перенос содержимого аккумулятора в ячейку по второму указателю

0894

13

INX D

Инкремент указателя 1

0895

2C

INR L

Инкремент указателя 2

0896

C2

JNZ M7

Проверка адреса указателя 2

0897

92

0898

08

0899

CD

CALL 01C8

Вывод

089A

C8

089B

01

089C

0D

DCR C

Декремент счетчика

089D

C2

JNZ M8

Проверка счетчика

089E

8C

089F

08

08A0

3E

MVI A, 00

Обнуление триггера

08A1

00

08A2

D3

OUT B1

08A3

B1

08A4

3E

MVI A, 20

КО2а

08A5

20

08A6

D3

OUT 98

08A7

98

08A8

E1

POP H

Извлечение информации из стека

08A9

D1

POP D

08AA

C1

POP B

08AB

F1

POP PSW

08AC

C9

RET

Возврат

08AD

08AE

M9

FB

EI

Разрешение прерываний

08AF

F5

PUSH PSW

Сохранение текущей информации в стек

08B0

C5

PUSH B

08B1

D5

PUSH D

08B2

E5

PUSH H

08B3

0E

MVI C, F0

Инициализация счетчика

08B4

F0

08B5

M11

11

LXI D, 08E9

Инициализация указателя на массив букв

08B6

E9

08B7

08

08B8

21

LXI H, 0BFA

Инициализация указателя на ячейки 0ВFA-0BFF

08B9

FA

08BA

0B

08BB

M10

1A

LDAX D

Перенос содержимого массива в аккумулятор

08BC

77

MOV M, A

Перенос содержимого аккумулятора в ячейку по второму указателю

08BD

13

INX D

Инкремент указателя 1

08BE

2C

INR L

Инкремент указателя 2

08BF

C2

JNZ M10

Проверка адреса указателя 2

08C0

BB

08C1

08

08C2

CD

CALL 01C8

Вывод

08C3

C8

08C4

01

08C5

0D

DCR C

Декремент счетчика

08C6

C2

JNZ M11

Проверка счетчика

08C7

B5

08C8

08

08C9

3E

MVI A, 00

Обнуление триггера

08CA

00

08CB

D3

OUT B2

08CC

B2

08CD

3E

MVI A, 20

КО2а

08CE

20

08CF

D3

OUT 98

08D0

98

08D1

E1

POP H

Извлечение информации из стека

08D2

D1

POP D

08D3

C1

POP B

08D4

F1

POP PSW

08D5

C9

RET

Возврат

08D6

08D7

00

08D8

3F

О

08D9

73

Р

08DA

79

Е

08DB

4F

З

08DC

3F

О

08DD

00

08DE

00

08DF

7C

Ь

08E0

66

Ч

08E1

3F

О

08E2

76

Н

08E3

00

08E4

31

Г

08E5

79

Е

08E6

73

Р

08E7

79

Е

08E8

7D

Б

08E9

00

08EA

00

08EB

3F

О

08EC

7D

Б

08ED

79

Е

08EE

76

Н

Вывод: проделав данную лабораторную работу, мы изучили особенности функционирования КПР, научились его программировать, организовывать прерывания, а так же закрепили знание команд на языке Assembler.

11

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