Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Описание архитектуры учебной ЭВМ.doc
Скачиваний:
4
Добавлен:
27.10.2018
Размер:
698.88 Кб
Скачать

9. Вспомогательные таблицы

В данном разделе представлены вспомогательные таблицы (табл. 4—8) для работы с моделью учебной ЭВМ.

Таблица 4. Таблица команд учебной ЭВМ

0

1

2

3

4

0

NOP

JNP

MOV

1

IN

JZ

RD

RD

RDI

2

OUT

JNZ

WR

WR

3

IRET

JS

ADD

ADD

ADI

4

WRRB

JNS

SUB

SUB

SBI

5

WRSP

JO

MUL

MUL

MULI

6

PUSH

JNO

DIV

DIV

DIVI

7

POP

JRNZ

IN

8

RET

INT

EI

OUT

9

HLT

CALL

DI

Таблица 5. Типы адресации, их коды и обозначение

Обозначение

Код

Тип адресации

Пример команды

0

Прямая (регистровая)

ADD 23 (ADD R3)

#

1

Непосредственная

ADD #33

@

2

Косвенная

ADD @33

[ ]

3

Относительная

ADD [33]

@R

4

Косвенно-регистровая

ADD @R3

@R+

5

Индексная с постинкрементом

ADD @R3+

-@R

6

Индексная с преддекрементом

ADD -@R3

В табл. 6 приняты следующие обозначения:

  • DD— данные, формируемые командой в качестве (второго) операнда: прямо или косвенно адресуемая ячейка памяти или трехразрядный непо­средственный операнд;

  • R* — содержимое регистра или косвенно адресуемая через регистр ячейка памяти;

  • ADR* — два младших разряда ADR поля регистра CR;

  • V — адрес памяти, соответствующий вектору прерывания;

  • М(*) — ячейка памяти, прямо или косвенно адресуемая в команде;

  • I — пятиразрядный непосредственный операнд со знаком.

Таблица 6. Система команд учебной ЭВМ

КОП

Мнемокод

Название

Действие

00

NOP

Пустая операция

Нет

01

IN

Ввод

Асc ← IR

02

OUT

Вывод

OR ← Асc

03

I RET

Возврат из прерывания

FLAGS.PC ← M(SP): INC(SP)

04

WRRB

Загрузка RB

RB ← CR[ADR]

05

WRSP

Загрузка SP

SP ← CR[ADR]

06

PUSH

Поместить в стек

DEC(SP); M(SP) ← R

07

POP

Извлечь из стека

R → M(SP): INC(SP)

08

RET

Возврат

PC → M(SP); INC(SP)

09

HLT

Стоп

Конец командных циклов

10

JMP

Безусловный переход

PC ← CR[ADR]

11

JZ

Переход, если 0

if Acc = 0 then PC←CR[ADR]

12

JMZ

Переход, если не 0

if Асс ≠ 0 then PC ← CR[ADR]

13

JS

Переход, если отрицательно

if Асс < 0 then PC ← CR[ADR]

14

JNS

Переход, если положительно

if Acс > 0 then PC ←CR[ADR]

15

JO

Переход, если переполнение

if |Acc| > 99999 then PC ← CR[ADR]

16

JNO

Переход, если нет переполнения

if |Acc| < 99999 then PC ← CR[ADR]

17

JRNZ

Цикл

DEC(R); if R > 0 then PC ← CR[ADR]

18

INT

Программное прерывание

DEC(SP); M(SP) ← FLAGS.PC; PC ← M(V)

19

CALL

Вызов подпрограммы

DEC(SP); M(SP) ← PC; PC ← CR(ADR)

20

Нет

21

RD

Чтение

Acс ← DD

22

WR

Запись

M(*) ← Acс

23

ADD

Сложение

Acс ← Acс + DD

24

SUB

Вычитание

Acс ← Acс - DD

25

MUL

Умножение

Acс ← Acс × DD

26

DIV

Деление

Acс ← Acc/DD

27

Нет

28

EI

Разрешить прерывание

IF← 1

29

DI

Запретить прерывание

IF←0

30

MOV

Пересылка

Rl ←R2

31

RD

Чтение

Acс ← R*

32

WR

Запись

R* ← Acс

33

ADD

Сложение

Acс ← Acс + R*

34

SUB

Вычитание

Acс ← Acс - R*

35

MUL

Умножение

Acс ← Acс × R*

36

DIV

Деление

Acс ← Acc/R*

37

IN

Ввод

Acс ← BУ(CR[ADR*])

38

OUT

Вывод

BУ(CR[АDR*]) ←Асс

39

Нет

40

Нет

41

RDI

Чтение

Асс ← I

42

Нет

43

ADI

Сложение

Асс ←Асс + I

44

SBI

Вычитание

Асс ← Асс - I

45

MULI

Умножение

Асс ← Асс × I

46

DIVI

Деление

Асс ← Асс/I

Таблица 7. Таблица кодов ASCII (фрагмент)

0

1

2

3

4

5

6

7

8

9

A

В

С

D

Е

F

0

0

@

Р

p

A

Р

а

Р

1

!

1

А

Q

а

q

Б

С

б

с

2

2

В

R

b

r

В

Т

в

т

3

#

3

С

S

с

s

Г

У

г

у

4

$

4

D

т

d

t

Д

ф

д

ф

5

%

5

Е

U

е

u

Е

X

е

х

6

&

6

F

V

f

v

Ж

Ц

ж

ц

7

'

7

G

W

g

w

3

Ч

з

ч

8

(

8

Н

X

h

X

И

Ш

и

ш

9

)

9

I

Y

i

y

Й

Щ

й

щ

А

*

:

J

Z

j

z

К

Ъ

к

ъ

В

+

;

К

[

k

<

Л

Ы

л

ы

С

,

<

L

l

|

М

Ь

м

ь

D

-

=

М

]

m

}

Н

Э

н

э

Е

.

>

N

n

Щ

Ю

щ

ю

F

/

?

O

_

o

П

Я

п

я

Таблица 8 Перевод HEX- кодов в десятичные числа

0

1

2

3

4

5

6

7

8

9

А

В

С

D

Е

F

0

0

16

32

48

64

80

96

112

128

144

160

176

192

208

224

240

1

1

17

33

49

65

81

97

113

129

145

161

177

193

209

225

241

2

18

34

50

66

82

98

114

130

146

162

178

194

210

226

242

3

3

19

35

51

67

83

99

115

131

147

163

179

195

211

227

243

4

4

20

36

52

68

84

100

116

132

148

164

180

196

212

228

244

5

21

37

53

69

85

101

117

133

149

165

181

197

213

229

245

6

6

22

38

54

70

86

102

118

134

150

166

182

198

214

230

246

7

-

23

39

55

71

87

103

119

135

151

167

183

199

215

231

247

8

8

24

40

56

72

88

104

120

136

152

168

184

200

216

232

248

9

9

25

41

57

73

89

105

121

137

153

169

185

201

217

233

249

А

10

26

42

58

74

90

106

122

138

154

170

186

202

218

234

250

В

11

27

43

59

75

91

107

123

139

155

171

187

203

219

235

251

С

12

28

44

60

76

92

108

124

140

156

172

188

204

220

236

252

D

13

29

45

61

77

93

109

125

141

157

173

189

205

221

237

253

Е

14

30

46

62

78

94

110

126

142

158

174

190

206

222

238

254

F

15

31

47

63

79

95

111

127

143

159

175

191

207

223

239

255

Вопросы для практической работы №1

  1. Какие блоки включает моделируемая ЭВМ?

  2. Какие функции выполняет АУ?

  3. Какие сигналы признаков вырабатывает АУ?

  4. Для чего нужны регистры IR и OR?

  5. Что используется в качестве сверхоперативной памяти в моделируемой ЭВМ?

  6. Что входит в состав УУ?

  7. Через какие регистры осуществляется доступ к ОЗУ?

  8. Через какие регистры осуществляется доступ к РОН?

  9. Какие поля выделены в формате команд?

  10. В каком формате представлены данные в моделируемой ЭВМ?

  11. Какие способы адресации используются в моделируемой ЭВМ?

2