Юный техник - для умелых рук 1989-02, страница 6

Юный техник - для умелых рук 1989-02, страница 6

всего fa счет того, что к наиболее часто используемым подпрограммам ввода/вывода в МОНИТОРе производится обращение не с помощью 3-байтной команды CALL ADR, а с помощью однобайтных команд RSTO —RST6.

Встроенная в МОНИТОР программа часов, работающая в режиме прерывания по RST7 от внешнего датчика секунд, позволяет осуществить привязку выполнения программ к реальному времени.

Хранится МОНИТОР в ПЗУ в области памяти 0000H-03FFH. Чтобы его запустить, достаточно произвести начальную установку микро ЭВМ, нажав на кнопку «УСТ». При работе МОНИТОРА в ОЗУ лишь несколько ячеек используется для стека и хранения промежуточных результатов и данных.

Коды МОНИТОРА приведены в таблице 5.

При запуске МОНИТОРА происходит настройка указателя стека и затем на крайних справа индикаторах появляются две единички. Это означает, что микроЭВМ находится в ожидании ввода директивы с клавиатуры. Клавиатура имеет двойное функциональное назначение. После начальной установки каждая клавиша служит для ввода директивы, а после ввода директивы эти же шестнадцатиричные клавиши используются' для ввода ее параметров. Директивы МОНИТОРА перечислены в таблице 4.

Таблица 4. Директивы МОНИТОРА

Таблица 4. Директивы МОНИТОРА

Клавиша

Параметры

Назначение

дирентивы

директивы

0

АДР

Запись данных в ОЗУ с адреса АДР

1

Запись данных в ОЗУ с адреса СОООН

2

Чтение данных из ОЗУ с адреса СОООН

3

Тест индикации

4

Тест ОЗУ

5

АДР

Чтение данных из ОЗУ с адреса АДР

6

Пуск программы с адреса СОООН

7

АДР

1уск программы с адреса АДР

8

АДР1, АДР2

Контрольная сумма данных с АДР1

по АДР2

9

АДР1, АДР2

Запись данных на ленту с АДР1 по

АДР2

А

АДР

Чтение данных с ленты со смещением,

равным АДР

В

Индинация времени

с

АДР

Установка времени с АДР C3FDH

секунды, C3FEH минуты, C3FFH часы

Все директивы МОНИТОРА задаются шестнадцатиричными цифрами и могут содержать дополнительно до трех параметров. Параметры также вводятся в виде шестнадцатиричных чисел. Их набирают после ввода директивы и контролируют по индикации на дисплее. Поскольку в МОНИТОРЕ на крайний справа индикатор выводится информация аккумулятора (адрес индикатора 9000Н), а на два других индикатора выводится информация из регистровой пары HL (адреса 9001Н, 9002Н), то в дальнейшем мы эти индикаторы так и будем называть: индикатор А, индикаторы HL.

Структурно МОНИТОР состоит из двух частей по 512 байт каждая. Перечисленные в таблице директивы относятся к первой основной части МОНИТОРА 0000—01FFH. Вторая, вспомогательная часть МОНИТОРА содержит набор программ, обращение к которым производится с помощью директивы «7». В минимальном объеме МОНИТОР может быть размещен в одной микросхеме КР556РТ5.

Знакомство с директивами МОНИТОРА начнем с директив работы с памятью. Директива «4» позволяет тестировать ОЗУ микроЭВМ. После нажатия клавиши «4» на индикаторах HL появляется код «С400Н», что означает: вся область ОЗУ от СОООН до C3FFH исправна. Тестирование ОЗУ производится последовательной записью в каждую ячейку сначала нулей и их чтением с проверкой на ноль, а затем записью единиц с проверкой считанных единиц. Если какая-то ячейка памяти неисправна, то адрес неисправной ячейки выводится на индикатор HL. Пользоваться этой директивой нужно осторожно, так как после прохождения теста ОЗУ вся память заполняется единичками.

Директива «1» позволяет осуществлять запись данных в ОЗУ с адреса СОООН. После нажатия на кнопку «1» на индикаторах HL появляется код «С000», а на индикаторе А — «00». Последующее нажатие на кнопки приводит к занесению данных в ячейки ОЗУ. Вводимые данные отображаются на индикаторе А, а на индикаторах HL выводятся адреса загружаемых ячеек памяти. Переход от ячейки к ячейке происходит автоматически, с задержкой порядка 1 с. Так, если после ввода директивы «1» оставить нажатой эту кнопку, то начиная с ячейки памяти с адресом СОООН и во все последующие ячейки будут записываться единицы.

Директива «2» предназначена для просмотра содержимого ячеек памяти, начиная с адреса СОООН. После ввода директивы на индикаторах HL появляется адрес «С000», а на индикаторе А содержимое ячейки памяти C000H. Нажатие на любую кнопку осуществляет автоматическое перелистывание ячеек памяти.

Таблица 5.

Таблица 5.

.0

. 1

.2

.3

.4

.5

.6

.7

.8

.9

.A

• B

.C

-D

-E

.F

ема

31

ЕЕ

СЗ

3E

11

C3

3B

00

C3

00

01

F7

EB

C3

7D

00

0010

D5

AF

57

E7

07

C3

47

00

E5

F5

21

50

66

C3

56

00

0020

DF

СЗ

5F

00

00

C3

00

C0

32

00

90

22

01

90

C9

00

01030

F5

D7

57

D7

5F

F1

C9

00

C3

CI

00

FB

32

00

90

E7

0040

С6

F3

26

00

6F

6E

E9

07

07

07

B2

57

32

00

90

E7

0050

В2

32

00

90

D1

C9

2B

7D

B4

C2

56

00

F1

El

C9

DB

0060

А0

С6

00

CA

5F

00

FE

80

CA

6E

00

E6

0F

C9

2B

3B

0070

ЗВ

AF

EF

D7

77

DF

23

C3

71

00

21

00

C0

E7

7E

EF

rtV^I

23

СЗ

7D

00

F7

EB

AF

EF

DF

E9

21

00

C0

C3

71

00

0090

F3

F7

ЕВ

сз

71

00

AF

67

6F

EF

DF

C6

11

FE

10

C2

ДОЮ

97

00

С7

21

00

C0

AF

77

7E

B7

C2

BB

00

3D

77

7E

00В0

ЗС

С2

ВВ

00

23

7C

E6

04

CA

A6

00

7E

EF

E7

C3

A6

00С0

00

F3

F5

C5

D5

E5

21

E4

00

11

FD

C3

06

03

1A

3C

00D0

27

12

BE

C2

ПЕ

00

AF

12

23

13

05

C2

CE

00

El

D1

00Е0

С1

F1

FB

C9

60

60

24

C3

9A

01

C3

C2

01

C3

75

01

00F0

СЗ

F5

01

91

8A

7A

96

A3

0B

25

84

ED

E7

EA

F0

90

0100

С5

D5

F5

57

0E

08

7A

07

57

3E

01

AA

D3

A1

CD

21

0110

01

ЗЕ

00

AA

D3

A1

CD

21

01

0D

C2

06

01

F1

D1

CI

0120

с<?

06

IE

05

C2

23

01

cv

C5

D5

0E

00

57

DB

A1

5F

0130

79

Е6

7F

07

4F

DB

A1

BB

CA

35

01

E6

01

B1

4F

CD

0140

01

DB

A1

5F

7A

B7

F2

63

01

79

FE

E6

C2

57

01

01S0

AF

32

FC

C3

C3

6J

01

FE

19

C2

30

01

3E

FF

32

FC

0160

СЗ

16

09

15

C2

30

01

ЗА

FC

C3

A9

D1

CI

C9

06

2D

0170

05

С2

70

01

C9

C5

D5

E5

F5

F7

42

4B

F7

2E

00

65

0180

D5

5F

16

00

19

D1

CD

94

01

03

C2

80

01

EF

Fl

0190

Е1

D1

CI

C7

7A

B8

C0

7B

B9

C9

C5

D5

E5

F5

F7

42

01А0

4 В

F7

C5

AF

6F

CF

2C

C2

A5

01

3E

E6

CF

78

CF

79

01В0

CF

CF

7B

CF

0A

CF

CD

94

01

03

C2

B5

01

CI

C3

01С0

7D

01

C5

D5

E5

F5

F7

3E

FF

CD

28

01

67

CD

EE

01

01D0

6F

19

44

4D

C5

CD

EE

01

67

CD

EE

01

6F

19

EB

CD

01Е0

ЕЕ

01

02

CD

94

01

03

C2

DF

01

CI

C3

7D

01

3E

08

01F0

CD

28

01

C9

00

2A

FE

C3

ЗА

FD

C3

EF

DF

C3

F5

01

0200

CD

24

02

DA

0A

02

CD

0E

02

C7

CD

19

02

C7

1A

77

0210

CD

94

01

IB

2B

C2

0E

02

C9

0A

77

CD

94

01

03

23

0220

С2

19

02

C9

F7

D5

F7

EB

22

F2

C3

El

22

F0

C3

F7

0230

ЕВ

22

F4

C3

7D

93

6F

7C

9A

67

22

F8

C3

4D

44

2A

0240

F2

СЗ

E5

09

22

F6

C3

2A

F0

C3

4D

44

D1

2A

F4

C3

0250

7D

91

7C

98

D8

2A

F6

C3

C9

7C

BA

CO

7D

BB

C9

CD

0260

24

02

CD

02

C7

2A

F4

C3

56

E5

CD

B9

02

60

E3

0270

78

FE

03

C2

A5

02

23

4E

23

46

2B

E5

2A

F0

C3

79

0280

95

78

9C

DA

A3

02

2A

F2

C3

7D

91

7C

98

DA

A3

02

0290

F8

C3

7D

81

5F

7C

88

57

El

73

23

72

23

33

33

02А0

СЗ

АВ

02

El

2B

CI

23

05

C2

A6

02

5D

54

2A

F6

C3

02В0

23

CD

59

02

EB

C2

69

02

C9

01

06

03

21

D3

02

7A

02С0

А6

23

BE

C8

23

0D

C2

BF

02

0E

03

05

78

FE

01

C2

02 D0

BF

02

C9

FF

CD

C7

C4

FF

C3

C7

C2

E7

22

CF

01

C7

02Е0

06

С7

C6

F7

D3

F7

EB

22

F0

C3

22

F4

C3

E5

F7

EB

02F0

22

F2

C3

22

F6

C3

F7

EB

22

FA

C3

D1

7D

93

6F

7C

0300

67

22

F8

C3

CD

66

02

C7

F7

D5

F7

EB

22

F2

C3

0310

F7

ЕВ

22

FA

C3

F7

EB

22

EE

C3

El

22

F0

C3

56

E5

0320

CD

В9

02

60

E3

78

FE

03

C2

4A

03

23

5E

23

56

2B

0330

Е5

FA

C3

CD

59

02

C2

48

03

2A

EE

C3

EB

El

73

0340

23

72

23

33

33

C3

50

03

El

2B

CI

23

05

C2

4B

03

0350

5D

54

2A

F2

C3

23

CD

59

02

EB

C2

IE

03

C7

F7

EB

0360

22

F0

C3

4D

44

F7

6B

62

22

F2

C3

23

22

F6

C3

CD

0370

02

AF

77

E5

23

22

F4

C3

21

01

00

22

F8

C3

CD

0380

66

02

El

7E

EF

D7

77

C7

F7

EB

22

F0

C3

22

F4

C3

0390

4D

44

E5

F7

6B

62

22

F2

C3

El

C5

03

CD

19

02

AF

03А0

77

22

F6

C3

21

FF

FF

22

F8

C3

CD

66

02

El

C3

03В0

7D

00

F7

4B

42

F7

D5

F7

EB

D1

0A

BE

C2

D4

03

79

03С0

ВВ

С2

CF

03

78

BA

C2

CF

03

3E

11

6F

67

EF

C7

03

03D0

23

СЗ

BA

03

F5

7E

EF

D7

77

F1

C3

BA

03

C5

D5

E5

03Е0

F5

EF

E7

E3

3E

AF

EF

E7

E3

69

60

3E

ВС

EF

E7

03F0

ЕВ

ЗЕ

DE

EF

E7

F1

El

D1

CI

C9

FF

FF

FF

FF

FF

FF

Директива «0» аналогична директиве «1», однако отличается тем, что после нажатия кнопки «0» необходимо ввести параметр — адрес, начиная с которого будет осуществляться запись данных в ОЗУ. Нажав кнопку «0», вводится адрес ячейки памяти, который при вводе индицируется на индикаторе А, а затем, после ввода адреса, появляется уже на индикаторе HL. На индикаторе А высвечивается «00». После этого вводится новая информация в эти и последующие ячейки памяти.

Директива «5» позволяет просматривать ячейки памяти ОЗУ с любого адреса. После нажатия кнопки «5» вводится адрес интересующей ячейки, который при вводе индицируется побайтно на индикаторе А, а затем выводится на индикаторы HL. На индикаторе А будет написано содержимое ячейки памяти. Следующие ячейки просматриваются нажатием на любую кнопку.

Особое положение среди директив работы с памятью занимает директива «ШАГ НАЗАД», которая отсутствует в таблице 4. Дело в том, что все кнопки в микроЭВМ кроме кнопки «ШАГ НАЗАД» имеют двойное функциональное назначение. После сброса каждая кнопка служит для ввода директив МОНИТОРА, а при исполнении директив это кнопки шестнадцатиричных цифр. Директива «ШАГ НАЗАД» имеет отдельную кнопку и может быть введена при исполнении перечисленных выше директив работы с памятью.

Предположим, выполняется директива чтения памяти. На индикаторах HL —адрес «С003», а на индикаторе А —содержимое этой ячейки — «22» После нажатия на кнопку «ШАГ НАЗАД» на индикаторе А появляются нули, и можно вводить новые данные в ячейку с адресом С003Н и последующие адреса. Аналогично применяется директива «ШАГ НАЗАД» при выполнении других директив работы с памятью.

При работе с памятью полезной может оказаться директива вычисления контрольной суммы. Чтобы получить ее, необходи-

6