Система команд процессора и сопроцессора

 

Name

Содержание

Функция

Флаги

Код

Z C S O I T U

Обращение к памяти по чтению и записи

1. 1

RDB

Чтение байта

R0<= <R1>+R2 - - - - - - - 000000

2.

RDHW

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

R0<= <R1>+R2 - - - - - - - 000001

3.

RDW

Чтение слова

R0<= <R1>+R2 - - - - - - - 000010

4.

WRB

Запись байта

<R0>=> <R1>+R2 - - - - - - - 000011

5.

WRHW

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

<R0>= ><R1>+R2 - - - - - - - 000100

6.

WRW

Запись слова

<R0>=> <R1>+R2 - - - - - - - 000101

7.

IN

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

R0<=порт<R1> - - - - - - - 000110

8.

OUT

Запись в порт

R0=>порт<R1> - - - - - - - 000111

9.

MOV

Обмен RG<>RG

<R0><=<R1> - - - - - - - 001000

10.

MOVI

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

<R0><= R2 - - - - - - - 001001

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

11.

ADD

Сложение

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

+ + + + - - - 001100
12.

SUB

Вычитание

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

+ + + + - - - 001101
13.

MUL

Умножение

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

+ + + + - - - 001110
14.

DIV

Деление

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

+ + + + - - - 001111
15.

ADDI

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

<R0><= <R1>+R2

+ + + + - - - 010000
16.

SUBI

Выч. с неп оп.

<R0><= <R1>-R2

+ + + + - - - 010001
17.

MULI

Умн/ с неп оп.

<R0><= <R1>*R2

+ + + + - - - 010010
18.

DIVI

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

<R0><= <R1>/R2

+ + + + - - - 010011

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

19.

AND

«И»

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

+ - + - - - - 010100
20.

OR

«ИЛИ»

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

+ - + - - - - 010101
21.

XOR

Искл «ИЛИ»

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

+ - + - - - - 010110
22.

NOT

«НЕ»

<R0><= ~<R1>

+ - + - - - - 010111
23.

RCL

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

 

- + - + - - - 011000
24.

RCR

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

 

- + - + - - - 011001

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

25.

CLI

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

 

        0     011010
26.

INT

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

<R7><=PC

<R6><=flags

+ + + + + + + 011100
27.

IRET

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

<PC><=R7

flags<=R6

- - - - - - - 011101
28.

CALL

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

<R7><=PC

PC<=<R1>+R2

- - - - - - - 011110
29.

RET

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

<PC><=R7

 

- - - - - - - 011111
30.

JMP

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

PC<=<R1>+R2

- - - - - - - 100000
31.

JZ

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

PC<=<R1>+R2

+ - - - - - - 100001
32.

JNZ

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

PC<=<R1>+R2

+ - - - - - - 100010
33.

JO

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

PC<=<R1>+R2

- - - + - - - 100011
34.

JNO

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

PC<=<R1>+R2

- - - + - - - 100100
35.

JC

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

PC<=<R1>+R2

- + - - - - - 100101
36.

JNC

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

PC<=<R1>+R2

- + - - - - - 100110
37.

JS

Переход переход по меньше нуля

PC<=<R1>+R2

- - + - - - - 100111
38.

JNS

Переход переход по не меньше нуля

PC<=<R1>+R2

- - + - - - - 101000

Специальные операции

39.

RFL

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

R1<=Flags

- - - - - - - 101001
40.

WFL

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

<R1>=>Flags

+ + + + + + + 101010
41.

RTLBR

Чтение TLBP

R1<=TLB

- - - - - - - 101011
42.

WTLBR

Запись TLBP

<R1>=>TLB

- - - - - - - 101100
43.

RISR

Чтение TINT

R1<=TINT

- - - - - - - 101101
44.

WISR

Запись TINT

<R1>=>TINT

- - - - - - - 101110
45.

RBVA

Чтение BVA

<R0><=BVA

- - - - - - - 110011
46.

RFE

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

 

- - - - - - 0 101111
47.

SCALL

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

 

- - - - - - 1 110000
48.

HALT

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

 

- - - - 1 - - 110001
49.

NOP

Нет операции

PC<=<PC>+1

- - - - - - - 110010

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

50.

FADD

Сложение

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

+ + + + - - - 111000
51.

FSUB

Вычитание

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

+ + + + - - - 111001
52.

FMUL

Умножение

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

+ + + + - - - 111010
53.

FDIV

Деление

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

+ + + + - - - 111011
54.

FMOV

Обмен RG<>RG

F0<=<F1>

- - - - - - - 111100
55.

FRDW

Чтение

<F0><= <R1>+R2

- - - - - - - 111101
56.

FWRW

Запись

<F0><= <R1>+R2

- - - - - - - 111110
57.

MFC

Преобр ПТ-ФТ

<R0><= <F1>

+ + + + - - - 111111
58.

MCF

Преобр ФТ-ПТ

<R0>=> <F1>

+ - + + - - - 111111
                             

 

 

1 Обращение к памяти по чтению и записи.

С помощью этих команд можно заносить данные и регистров в память и читать их оттуда.

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

       Позволяют производить известные операции с числами с ФТ, которые хранятся в регистрах или с непосредственными операндами

3 Специальные операции.

       Позволяют работать с системными регистрами, заносить туда информацию и считывать ее от туда. Команды с 40 по 46 возможны только в режиме супервизора. В пользовательском режиме они недоступны.

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

       Известные операции аналогичные с ФТ, плюс операции сдвигов влево и вправо.

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: