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

6) Форматы команд Способы адресации

Согласно заданию необходимо предусмотреть следующие способы адресации:

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

База, Индекс – адреса регистров, в которых адреса базы и индекса.

  1. Косвенная

Форматы команд

Согласно заданию команды имеют максимальную адресность равную 2, т.е. операции имеют вид:

  1. О1:=O1 (операция) O2

  2. (операция) O1

  3. (операция)

Также команды можно разделить на:

арифметические

логические

пересылки

A – указывает, какая адресность используется для второго операнда:

00 – косвенная

11 – относительная

01 – зарезервировано

переходов

управления

7) Система команд

Мнемоника

название

содержание

Флаги

Код

Z

C

S

O

I

T

U

Обращение пересылки

RDB

Чтение байта

R1<=<R1>+R2

-

-

-

-

-

-

-

000000

RDHW

Чтение полуслова

R1<=<R1>+R2

-

-

-

-

-

-

-

000001

RDW

Чтение слова

R1<=<R1>+R2

-

-

-

-

-

-

-

000010

WRB

Запись байта

<R1>=><R1>+R2

-

-

-

-

-

-

-

000011

WRHW

Запись полуслова

<R1>=><R1>+R2

-

-

-

-

-

-

-

000100

WRW

Запись слова

<R1>=><R1>+R2

-

-

-

-

-

-

-

000101

IN

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

R2<=порт<R1>

-

-

-

-

-

-

-

000110

OUT

Запись в порт

R2=>порт<R1>

-

-

-

-

-

-

-

000111

MOV

Обмен RG<>RG

<R2><=<R1>

-

-

-

-

-

-

-

001000

MOVI

Занос в регистр значения

<R1><= R2

-

-

-

-

-

-

-

001001

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

ADD

Сложение

<R1><=<R1>+<R2>

+

+

+

+

-

-

-

001100

SUB

Вычитание

<R1><=<R1>-<R2>

+

+

+

+

-

-

-

001101

MUL

Умножение

<R1><=<R1>*<R2>

+

+

+

+

-

-

-

001110

DIV

Деление

<R1><=<R1>/<R2>

+

+

+

+

-

-

-

001111

ADDI

Сложение с неп оп.

<R1><=<R1>+R2

+

+

+

+

-

-

-

010000

SUBI

Выч. с неп оп.

<R1><=<R1>-R2

+

+

+

+

-

-

-

010001

MULI

Умн/ с неп оп.

<R1><=<R1>*R2

+

+

+

+

-

-

-

010010

DIVI

Деление с неп оп.

<R1><=<R1>/R2

+

+

+

+

-

-

-

010011

Логические оперции с ФТ

AND

«И»

<R1><=<R1>&<R2>

+

-

+

-

-

-

-

010100

OR

«ИЛИ»

<R1><=<R1>v<R2>

+

-

+

-

-

-

-

010101

XOR

Искл «ИЛИ»

<R1><=<R1>+<R2>

+

-

+

-

-

-

-

010110

NOT

«НЕ»

<R1><=~<R1>

+

-

+

-

-

-

-

010111

RCL

Циклический сдвиг влево

-

+

-

+

-

-

-

011000

RCR

Циклический сдвиг вправо

-

+

-

+

-

-

-

011001

Команды переходов и прерываний

CLI

Очистить флаг разрешения прерываний

-

-

-

-

0

-

-

011010

INT

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

<SP><=PC

<R15><=flags

+

+

+

+

+

+

+

011100

IRET

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

<PC><=SP

flags<=R15

-

-

-

-

-

-

-

011101

CALL

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

<SP><=PC

PC<=<R1>+R2

-

-

-

-

-

-

-

011110

RET

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

<PC><=SP

-

-

-

-

-

-

-

011111

JMP

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

PC<=<R1>+R2

-

-

-

-

-

-

-

100000

JZ

Переход по нулю

PC<=<R1>+R2

+

-

-

-

-

-

-

100001

JNZ

Переход не по нулю

PC<=<R1>+R2

+

-

-

-

-

-

-

100010

JO

Переход по переполнению

PC<=<R1>+R2

-

-

-

+

-

-

-

100011

JNO

Переход по не переполнению

PC<=<R1>+R2

-

-

-

+

-

-

-

100100

JC

Переход по переносу

PC<=<R1>+R2

-

+

-

-

-

-

-

100101

JNC

Переход не по переносу

PC<=<R1>+R2

-

+

-

-

-

-

-

100110

JS

Переход переход по < 0

PC<=<R1>+R2

-

-

+

-

-

-

-

100111

JNS

Переход переход по >= 0

PC<=<R1>+R2

-

-

+

-

-

-

-

101000

Операции управления

RFL

Чтение флагов

R1<=Flags

-

-

-

-

-

-

-

101001

WFL

Запись флагов

<R1>=>Flags

+

+

+

+

+

+

+

101010

RTLBR

Чтение TLBP

R1<=TLB

-

-

-

-

-

-

-

101011

WTLBR

Запись TLBP

<R1>=>TLB

-

-

-

-

-

-

-

101100

RISR

Чтение TINT

R1<=TINT

-

-

-

-

-

-

-

101101

WISR

Запись TINT

<R1>=>TINT

-

-

-

-

-

-

-

101110

RBVA

Чтение BVA

<R0><=BVA

-

-

-

-

-

-

-

110011

RFE

Возврат в пользователя

-

-

-

-

-

-

0

101111

SCALL

Переход в супервизора

-

-

-

-

-

-

1

110000

HALT

Ожидание прерывания

-

-

-

-

1

-

-

110001

NOP

Нет операции

PC<=<PC>+1

-

-

-

-

-

-

-

110010

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

FADD

Сложение

<F0><=<F1>+<F2>

+

+

+

+

-

-

-

111000

FSUB

Вычитание

<F0><=<F1>-<F2>

+

+

+

+

-

-

-

111001

FMUL

Умножение

<F0><=<F1>*<F2>

+

+

+

+

-

-

-

111010

FDIV

Деление

<F0><=<F1>/<F2>

+

+

+

+

-

-

-

111011

FMOV

Обмен RG<>RG

F0<=<F1>

-

-

-

-

-

-

-

111100

FRDW

Чтение

<F0><=<R1>+R2

-

-

-

-

-

-

-

111101

FWRW

Запись

<F0><=<R1>+R2

-

-

-

-

-

-

-

111110

MFC

Преобр ПТ-ФТ

<R0><=<F1>

+

+

+

+

-

-

-

111111

MCF

Преобр ФТ-ПТ

<R0>=><F1>

+

-

+

+

-

-

-

111111