Скачиваний:
14
Добавлен:
03.06.2014
Размер:
256 Кб
Скачать

2.2.5. Определение модели памяти

Структура регистровой памяти представляет собой

  • восемь 16-разрядных функционально-ориентированных (ФО) регистров;

  • один 16-разрядный регистр PC– счётчик команд, а также один 16-разрядный регистрPCI, хранящий адрес команды, выполнение которой было прервано при прерывании;

  • два 6-разрядных регистра, хранящих флаги, один из которых необходим для сохранения флагов при прерывании;

2.2.6. Разработка системы команд

В соответствии с выбранными форматами команд были выбраны сами команды. Результат проектирования – в таблице ниже.

Как было указано в предыдущем пункте, номер формата команды состоит из значений полей Пi, т.е. из следующих значений:

0 – операнд не используется;

1 – непосредственная;

2 – прямая;

3 – относительная;

В некоторых случаях указан формат команды в формате x.x.0,x= 2,3. Это означает, что эта команда имеет несколько схожих форматов, отличающихся лишь типом адресации. В данном примере – 2.2.0, 2.3.0, 3.2.0, 3.3.0.

Мнемо-ника

Описание

Содержание

Флаги

Фор-мат

КОП

Z

C

S

O

I

T

Прерывания

Маска: 0000XX

00

INT

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

PCI ← PC

FI ← F

Z

C

S

O

T

1.0.0

2.0.0

3.0.0

000000

01

RI

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

(сбросить флаг)

I = 0

I

000001

02

SI

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

(установить флаг)

I = 1

I

000010

03

IRET

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

PCI → PC

FI → F

Z

C

S

O

T

000011

Чтение / Запись

Маски: 0001XX, 0010XX, 0011XX

04

MOV

Передача данных из источника в приёмник

A1 ← A2

000100

05

IN

Чтение из порта

A1 ← [address]

06

OUT

Запись в порт

A2 → [address]

07

WR

Логические операции

Маски: 0100XX

16

AND

Побитовое логическое «И»

A3 ← A2 & A1

x.x.x,

x=2,3

010000

17

OR

Побитовое логическое «ИЛИ»

A3 ← A2 | A1

x.x.x,

x=2,3

010001

18

XOR

Побитовое логическое «исключающее ИЛИ»

A3 ← A2 ^ A1

x.x.x,

x=2,3

010010

19

NOT

Инверсия операнда

A2 → NOT A1

y.x.0,

x=2,3,

y=1,2,3

010011

Переходы

Маски: 0101XX, 0110XX, 0111XX

20

CALL

010100

21

RET

010101

22

JMP

010110

23

JZ

010111

24

JNZ

011000

25

JO

011001

26

JNO

011010

27

JC

011011

28

JNC

011100

29

JS

011101

30

JNS

011110

31

011111

Арифметические операции без знака

Маски:

Арифметические операции со знаком

Маски:

Арифметические операции с ПТ

Выполняются на арифметическом сопроцессоре

Маски:

Разное

Маски: -

63

NOP

Нет операции

0.0.0

111111

Соседние файлы в папке Обновление для Пузанкова #6