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

2.2.5. Выбор форматов команд

Все команды имеют единый формат. В соответствии с техническим заданием, команды должны быть трёхадресными.

В каждом цикле работы, процессор считывает из памяти команд 64-х разрядную команду, т.к. разрядность шины команд - 64 бита.

ПА1

63

17

КОП

54

ПА3

А1

ПА2

А2

51

49

36

34

18

31

10 бит

2 бита

14 бит

14 бит

2 бита

2 бита

0

А3

13

14 бит

33

52

14

ИР3

16

2 бита

ИР2

ИР1

2 бита

2 бита

15

32

35

50

53

В битах 26 – 31 (КОП) хранится код операции.

Двухразрядное поле ПА1, ПА2, ПА3 указывает способ адресации для соответствующих полей А:

ПА1, ПА2, ПА3 = 0 – непосредственная адресация;

ПА1, ПА2, ПА3 = 1 – прямая адресация;

ПА1, ПА2, ПА3 = 2 – относительная адресация.

Адресные поля А1, А2 и А3 используются для хранения 1-го, 2-го операндов и результата. Поля ИР1, ИР2, ИР3 служат для указания номера индексного регистра, используемого при относительной адресации (это регистры R60 – R63).

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

Значение, записываемое в регистр, задаётся непосредственно в команде. Например mov ax,50.

Прямая адресация

Прямой адрес – номер ячейки памяти, в которой хранится операнд.

Исполнительный адрес AИСП=A.

Относительная адресация

Исполнительный адрес формируется следующим образом:

AИСП=A+X, где

A – базовый адрес, указываемый в адресном поле команды;

X – относительный адрес (индекс), указывающий положение данного, относительно базового адреса A. Для хранения индексов используются регистры R60 – R63 (см п. 3)

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

N

Мнемоника

Название

Содержание

Флажок

Код

C

Z

S

1

ADD

Сложение с ФТ

R1 R1 + R3

+

+

+

0000000001

2

SUB

Вычитание с ФТ

R1 R1 – R3

+

+

+

0000000010

3

MUL

Умножение с ФТ

R1 R1 * R3

+

+

+

0000000011

4

DIV

Деление с ФТ

R1 R1 /R3

+

+

+

0000000100

5

STS

Запись в ОЗУ

[A] R1

-

-

-

0000000101

6

LDS

Чтение из ОЗУ

R1 [A]

-

-

-

0000000111

7

AND

Логическое «И»

R1 R1 and R2

+

+

-

0000001000

8

EOR

Исключающее «ИЛИ»

R1 R1 xor R2

+

+

-

0000001001

9

OR

Логическое «ИЛИ»

R1 R1 or R2

+

+

-

0000001010

10

JCC

Условный переход

R2+disp

+

+

+

0000001011

11

JMP 

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

R2+disp

-

-

-

00000001100

12

IN

Загрузка данных из порта в РОН

R1 P

-

-

-

0000001101

13

OUT

Загрузка данных из РОН в порт

R1

-

-

-

0000001110

14

MOV

Пересылка между РОН

 R1 R2

-

-

-

0000001111

15

BREAK

Приостановка программы

-

-

-

-

0000010000

Соседние файлы в папке Сидоров 2011г