Справочник по системным программам 1969 г.

Ассемблер - описание центрального процессора.


АССЕМБЛЕР
Описание центрального процессора

В ЭВМ- "СИНКЛЕР" выбран ЦП типа Z80A. представляющий собой более быстро-
действующий вариант популярного типа Z80. 4 Чипа. Z80, 6502, 6809 и 80.88, стали
широко распространенными в качестве ЦП для микро-эвм. Z80 - самый популярный из
них.

У

Нё

Ml

< — 27—

— 30— >

AO

П

с

! ,

p

и

Не

MREQ

<--19—

Микропроцессор

— 31—>

AI

A

с

A

В

т

Не

IORQ

<--20—

Z80

Д

Л

Е

P

ill

E

М

Не

RD

<--21 —

— 40— >

A10

E

И

H

0

С

H

И

Й

Не

WR

<--22—

— 1 — ->

A1 1

H

A

E

A

Не

RFSH

<--28—

— 2—->

AI 2

Я

У

Не

HALT

<—18 —

П

p

Не

WAIT

— 24->

*

— 5 —>

A 1 5

A

Ц

В

Не

INT

----16->

—14—>

DO

Л

П

Е

Не

MNI ---17->

—15-->

D1

Д

И

Не

RESET---26->

—12 —>

D2

А

Е

Не

BUSRQ---25->

— g--->

D3

Н

III

И

Ц

Не

BUSAK<--23->

—7--->

D4

Н

Н

П

А

FTAKT---6 — >

—9--->

D5

Ы

+5V —11->

— Ю — >

D6

Е

Корпус ---29->

—13—>

D7

Рис.Назначение выводов микропроцессора Z80.Z80A *
Описание сигналов микропроцессора Z80,Z80A

АО - А15 - (адресная шина). Выходы с тремя устойчивыми состояниями. Активный
уровень сигналов-высокий. Адресует ОЗУ или УВВ. (До 64к для ОЗУ)

DO - D7 - (шина данных). Входы-выходы с тремя устойчивыми состояниями. Ак-
тивный уровень-высокий.

Не М - (машинный цикл). Выход. Активный сигнал-низкий. Указывает, что в те-
кущем цикле осуществляется выборка КОП.

Не MREQ - (запрос памяти). Выход с тремя устойчивыми состояниями. Активный
сигнал-низкий. Сигнал указывает, что на адресной шине установлен адрес для опе-
рации чтения или записи в память.

Не IORG - (запрос ввода-вывода). Выход с тремя устойчивыми состояниями. Ак-
тивный уровень сигнала-низкий. Сигнал указывает, что младший байт шины адреса
содержит адрес УВВ. Кроме того, этот сигнал генерируется после выдачи подтвер-
ждения прерывания, тем самым указывая, что вектор прерывания может быть помещен
на шину данных.

Не RD - (чтение из памяти). Выход с тремя устойчивыми состояниями. Активный
уровень сигнала-низкий. Сигнал указывает, что ЦП готов к чтению данных из памя-
ти или из УВВ. Адресованное УВВ или память используют этот сигнал для стробиро-
вания при подаче данных на шины данных ЦП.

Не WR - (зацнсь в память). Выход с тремя устойчивыми состояниями. Активный
уровень сигнала-низкий. Сигнал указывает, что на шине данных содержатся данные,
предназначенные для записи в память или вывода на УВВ.

Не FRSH - (восстановление). Выход.активный уровень-иизкий. Сигнал указывает,
что младшие 7 разрядов шины адреса содержат адрес восстановления для ОЗУ и те-
кущий сигнал не MREQ должен использоваться для восстановления динамической па-
мяти.

Не HALT - (ост). Выход. Активный уровень-низкий. Сигнал указывает.что ЦП вы-
полнил команду HALT н ожидает появления либо маскируемого, либо немаскируемого
прерывания, после которого он продолжит работу. Перед выполнением HALT ЦП зано-
сит в ОЗУ информацию, которая нужна для восстановления.

Не WAIT - (ожидание). Вход. Активный уровень-иизкий. Сигнал указывает микро-
процессору. что адресуемые память или устройство не готовы к передаче данных.
ЦП ждет, пока активен этот сигнал.

Не I NT - (запрос на маскируемое прерывание). Вход. Активный уровень-низкий.
Запрос будет воспринят ЦП в конце выполнения текущей команды, если триггер раз-
решения прерывания IFF. управляемый внутренними программными средствами, уста-
новлен в определенное состояние.

Не NMI - (запрос на немаскируемое прерывание). Вход. Активный уровень-низкий.
Это прерывание имеет более высокий приоритет, чем INT. Распознается в конце те-
кущей команды. Сигнал автоматически переводит ЦП к выполнению программы с адре-
са 0066(HEX).

Не RESET - (сброс). Вход. Активный уровень-низкий. При поступлении сигнала
выполняются следующие действия:
А) сброс триггера разрешения прерывания IFF.
Б) очистка счетчика команд и регистров I и R.

В) шины адресная и данных в состоянии выс.сопротивления.

Г) для всех управляющих выходных сигналов устанавливается неактивный уровень.

Не BUSRQ - (запрос шин). Вход. Активный уровень-низкий Сигнал имеет более
высокий приоритет, чем NMI и всегда распознается в конце текущего машинного
цикла. Он используется для организации прямого доступа к памяти (Г1ДП) и перево-
дит в состояние высокого сопротивления все шины и тристабильные^ выходы сигналов
управления, после чего этими шинами могут управлять другие устройства.

Не BUSAK - (подтверждение перевода шин в сост. высокого сопрогив. ) Выход. Ак-
тивный уровень-низкий. Сигнал подается на запрашивающее внешнее устройство.

INPUT VALUE IN A OFF - входное значение в А для; CAP - прописные буквы; SHIFT

- смена регистра; SYM - сокращение расшифровать ие удалось; ENTER - ввод; BREAK

- прерывание; SPACE- пробел.

Примечание: чтобы выполнить прерывание по клавише:

1) загрузите в регистр А входное значение из соответствующего ряда.

LD А 07Е : нижний ряд

2) примите информацию с входного порта 0FEH.

IN A (OFEH)

3) проверьте, что для нужной клавиши DX имеет низкое значение.

AND 1 : прерывание по клавише BREAK/SPACE

4) если ноль, то клавиша нажата.

JR Z .клавиша нажата : в нормальном состоянии значение всегда высокое

MEMORI ATTRIBUTE
IN HEX IN HEX LINE

MEMORI ATTRIBUTE
IN HEX IN HEX

4000

5800

0

40 IF

58 IF

4020

5820

1

403F

583F

4040

5840

2

405F

58 5 F

4060

5860

3

407F

587F

4080

5880

4

409F

589F

40a0

58A0

5

40BF

58BF

40c0

58C0

6

40DF

58DF

40e0

58E0

7

40FF

58FF

4800

5900

8

48 IF

59 1 F

4820

5920

9

483F

593F

4840

5940

10

485F

595F

4860

5960

1 1

487F

597F

4880

5980

12

489F

599F

48А0

59А0

13

48BF

59BF

48С0

59С0

14

48DF

59DF

48Е0

59Е0

15

48FF

59FF

5000

5А00

16

50 1 F

5AIF

5020

5А20

17

503F

5A3F

5040

5А40

18

505F

5A5F

5060

5А60

19

507F

5A7F

5080

5А80

20

509F

5A9F

50А0

5АА0

21

50BF

5ABF

50С0

5АС0

22

50DF

5ADF

50Е0

5АЕ0

23

50FF '

5AFF

MEMORY IN HEX - память в шестнадцатеричном формате';
ATTRIBUTE IN HEX - атрибут в шестнадцатеричном формате;
LINE - строка.

Таблица набора литер "SPECTRUM"

HEX

НОВ

0

1

2

3

4

•5Л

1 в

LOB

BITS

ООО

OQl

010

01 1

100

101

1 10

0

0000

NU

INK CTRL

SPACE

0

P

1

0001

NU

RAPER CTRJ

j

1

A

Q

2

0010

FLASH CTRI

**

2

В

R '

3

001 1

;NU

BRIGHT CTRI

#

3

С

S

4

0100

' •'NU '

INVERSE CTRI

S

4

D

T

5

0101

NU

OVER CTRI

%

5

E

и

6

01 10

• PRINT

AT CTRI

t

6

F

V

7

011 1

: EDIT

TAB CTRI

"

7

G

w

8

1000

CURSOR LEFT

NU

(

8

H

X .

9

1001

CURSOR RIGH

NU

)

9

1

Y

А

1010

CURSOR DOWN

NU

J

Z :

В

1011

CRSOR UP

NU

+

К

С

1 100

DELETE

NU

<

L

D

1 101

ENTER

NU

-

*

M

Е

1 110

NUMBER

NU

>

N

F

1111

NU

NU

/

P

-

<---NON PR I f

«TABLE------>

<-----

—PI

11 NT/

iBLE-

7
1 1 1

7
1 1 1

NB: М - NOT USED. .

NEX - шестнадцатеричное представление; LOB - младший байт; НОВ - старший
байт; INK CTRI - управление чернилами; SPACE пробел; PAPER CTRI -управление бу-
магой; FLASH CTRI - управление режимом мигания; BRIGHT CTRI - управление яр-
костью; INVERSE CTRI - управление инверсией яркости; OVER CTRI- управление пре-
вышением; PRINT - печать; AT CTRI - управление; EDIT - редактирование; TAB CTRI
- управление табуляцией; CURSOR LEFT - курсор влево; CURSOR RIGHT - курсор
вправо; CURSOR DOWN - курсор вниз; CURSOR UP - курсор вверх; DELETE - удаление;
ENTER - ввод; NUMBER - число; NON PRINTABLE - непечатные; PRINTABLE - печа-
таемые; NB: - замечание; NU - не используется.

Таблицы преобразования десятичных чисел в шестнадцатиричные

NEX

0 1

2

3

4 5

6

7

8

9

A

В

С

D

E

F

OOXX

XXOO

0

0 1

2

3

4 5

6

7

8

9

10

1 1

12

13

1 4

15

0

0

1

16 17

18

19

19 20

21

22

23

24

25

27

28

29

30

31

256

4096

2

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

512

8192

3

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

768

12288

4

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

1024

16384

5

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

1280

20480

6

96

97

98

99

100

101

102

103

104

105

1061

07

108

109

1 1 0

1 1 1

1 536

24576

7

112

113

1 I 4

115

1 16

I 17

1 18

119

120

121

1221

23

124

125

126

127

1792

28672

8

128

129

130

131

132

133

134

135

136

137

1381

39

1 40

141

1 42

1 43

20 48

32768

9

144

145

1*6

147

148

I 49

150

151

152

153

1541

55

1 56

157

158

1 59

2304

36864

А

160

161

162

163

164

165

166

167

168

169

1701

71

172

173

174

175

2560

40960

В

176

177

178

179

180

181

182

183

184

185

1861

87

188

189

190

191

2816

45056

С

192

193

194

195

196

197

198

199

200

201

2022

03

204

205

206

207

3072

49152

D

208

209

210

21 1

212

213

214

215

216

217

2182

19

220

221

222

223

3328

53248

Е

224

225

226

227

228

229

230

231

232

233

2342

35

236

237

238

239

3564

57344

F

240

241

242

243

244

245

246

247

248

249,

2502

51

252

253

254

255

3840

614 40|

NEX - шестнадцатеричное

Г, *

7

Мы можем показать применение этой таблицы^на примере. Давайте найдем шестнад-
цатеричный эквивалент десятичного числа -6200; Нам нужно определить 16-битовое
двоичное число, т.е.,

0001ВВВВ ВВВВВВВВ
НОВ LOB

НОВ - старший байт; LOB - младший байт

1) из самой левой колонки таблицы под заголовком XX00 мы находим, что 6200
находится между 4096 н 8192. Так что мы' выбираем меньшее значение 4096 и из
значения ряда мы берем 4'самых старших бита старшего байта'равные-1, т.е. 01.
ВВВВВВВВ ВВВВВВВВ
НОВ L0B-

2) второй шаг состоит в том. что мы определяем следующие по старшинству 4 би-
та старшего байта. ' Мы" нбходим разность между 6200 и 4096. равную 2104. Пос-
кольку разность все еще'превышает 255'.' мы обращаемся ко второй слева колонке
таблицы под заголовков ОбХХ и выяснйем. что 2 104 находится между 2048 и 2304.
Вновь мы выбираем меяышее значение 2048-и по знамению ряда'получаем. что сле-
дующее по старшинству 4 бита сгаршёг байта "равны 8. т.е. 1000.
00011000 'ВВВВВВВВ
НОВ L0B

3) Третий шаг состоит в определении младшего байта числа. Мы обнаруживаем,
что разность между 2104 и 2048 равна 56 лежит rta пересечении ряда 3 и колонки
8. Так что мы принимаем младший байт равным 38Н. •

0001100 00111000
НОВ LOB

Итак, шестиадцатернчное значение числа 6200 равно 1838Н.

Шестнадцатеричная Таблица сложения

Шестнадцатеричная Таблица сложения

+

0

1

2

3

4

5

6

7

8

9

А

В

С

D

Е

F

0

0

1

2

3

4

5

6

7

8

9'

А'»

В

С

D

Е

F

1

1

2

3

4

5

6

7

8

9

А

В i

- С

D'

Е

F

10

2

2

3

•4

• <5 *

'6

7

8

9

А

В

С

D

Е

F

10

1 1

3

3

4

5

г-в г

8

9

А

В

С

D

Е

F

1 0

1 1

12

4

4

5

6

7*

-'8

9

А

В

С

D

Е

F

10

1 1

12

13

5

5

6

7

8-

9

А

В

С

D

Е

F

10

1 1

12

1 3

1 4

6

6

7

8

9

А

В

С

D

Е

F

10

1 1

12

1 3

1 4

15

7

7

8

9

А

В

С

D

Е

F

10

1 1

12

1 3

1 4

1 5

16

8

8

9

А

В

С

D

Е

F

10

1 1

12

13

1 4

1 5

16

17

9

9

А

В

С

D

Е

F

10

1 1

12

1 3

! 4

15

16

17

18

А

А

В

С

D

Е

F

10

1 1

12

13

1 4

15

16

17

18

1 9

В

В

С

D

Е

F

10

1 1

12

13

1 4

1 5

16

17

18

19

С

С

D

Е

F

10

1 1

12

13

1 4

15

16

17

18

19

D

0

Е

F

10

1 1

12

13

1 4

15

16

17

18

19

Е

Е

F

10

I 1

12

13

1 4

15

16

17

18

19

IB

ID

F

F

10

1 1

12

13

1 4

15

16

17

18

19

1 А

ID

IE




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Мысли на тему - О "вероломном" нападении Германии на СССР 22.06.41: Ко дню Фюрера.
AGA - Графический редактор 3 color'ных скринов AGA v1.0.
Стихи - Фелиста.
2000 А.D. party - Beer Compo - С 30 дeкaбря 1999 гoдa пo 1 янвaря 2000 гoдa в нaшem гoрoдe прoшлa mини-пaти пoд нaзвaниem 2000 a.d., пocвящeннaя вcтрeчe 2000 гoдa.
Charts - опрос от Joint: кто лучший программист, музыкант, художник на спектруме.

В этот день...   6 мая