ПРИЛОЖЕНИЕ Е. ИНСТРУКЦИИ И ТИПЫ ДАННЫХ ЭВМ СЕМЕЙСТВА VAX

РЕЖИМЫ АДРЕСАЦИИ

АДРЕСАЦИЯ С ИСПОЛЬЗОВАНИЕМ РЕГИСТРОВ ОБЩЕГО НАЗНАЧЕНИЯ

7

 

 

4

3

 

 

0

Режим

Регистр

 

 

 

 

 

Тип доступа

Использов. регистров

 

Шест.

Дес.

Название режима

Обозначение

             

AP

Индекси-
рование

 

 

 

 

r

m

w

a

v

PC

SP

FP

0-3

0-3

Литеральный

S^#литерал

y

f

f

f

f

-

-

-

f

4

4

Индексный

i[Rx]

y

y

y

y

y

f

y

y

f

5

5

Регистровый

Rn

y

y

y

f

y

u

uq

uo

f

6

6

Регистровый косвенный

(Rn)

y

y

y

y

y

u

y

y

y

7

7

С автоуменьшением

-(Rn)

y

y

y

y

y

u

y

y

ux

8

8

С автоувеличением

(Rn)+

y

y

y

y

y

p

y

y

ux

9

9

Косвенный с автоувеличением

@(Rn)+

y

y

y

y

y

p

y

y

ux

A

10

Со смещением (байт)

B^D(Rn)

y

y

y

y

y

p

y

y

y

B

11

Косвенный со смещением (байт)

@B^D(Rn)

y

y

y

y

y

p

y

y

y

C

12

Со смещением (слово)

W^D(Rn)

y

y

y

y

y

p

y

y

y

D

13

Косвенный со смещением (слово)

@W^D(Rn)

y

y

y

y

y

p

y

y

y

E

14

Со смещением (длинное слово)

L^D(Rn)

y

y

y

y

y

p

y

y

y

F

15

Косвенный со смещением (длинное слово)

@L^D(Rn)

y

y

y

y

y

p

y

y

y

АДРЕСАЦИЯ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО СЧЁТЧИКА (РЕГИСТР 15)

7

 

 

4

3

2

1

0

Режим

1

1

1

1

 

       

Тип
доступа

 

Шест.

Деc.

Название режима

Обозначение

r

m

w

a

v

Индекси-
рование

8

8

Непосредственный

I^#константа

y

u

u

y

y

u

9

9

Абсолютный

@#адрес

y

y

y

y

y

y

A

10

Относительный (смещение - байт)

B^адрес

y

y

y

y

y

y

B

11

Относительный косвенный (смещение - байт)

@B^адрес

y

y

y

y

y

y

C

12

Относительный (смещение - слово)

W^адрес

y

y

y

y

y

y

D

13

Относительный косвенный (смещение - слово)

@W^адрес

y

y

y

y

y

y

E

14

Относительный (смещение - длинное слово)

L^адрес

y

y

y

y

y

y

F

15

Относительный косвенный (смещение - длинное слово)

@L^адрес

y

y

y

y

y

y

Условные обозначения:

D

-

смещение

i

-

любой режим адресации, совместимый с индексным

-

-

использование логически невозможно

f

-

вызывает прерывание по резервному режиму адресации

p

-

допустима адресация с использованием программного счётчика (PC)

u

-

результат НЕПРЕДСКАЗУЕМ

uq

-

результат НЕПРЕДСКАЗУЕМ для чисел в формате квадра- и октаслова и для чисел с плавающей точкой в форматах типа G и Н, а также для битовых полей, если сумма значений смещения поля (начальная позиция поля) и длины битового поля превышает 32

uo

-

результат НЕПРЕДСКАЗУЕМ для чисел в формате октаслова и чисел с плавающей точкой в формате Н

ux

-

результат НЕПРЕДСКАЗУЕМ, если один и тот же регистр используется одновременно в качестве индексного и базового

y

-

да, такое использование допустимо и является корректным

r

-

чтение

m

-

модификация

w

-

запись

a

-

получение адреса

v

-

обращение к битовому полю

Rn

-

регистры общего назначения, n = 0-15

Rx

-

регистры общего назначения, x = 0-14

УСЛОВНЫЕ ОБОЗНАЧЕНИЯ, ПРИМЕНЯЕМЫЕ ДЛЯ СПЕЦИФИКАЦИИ ОПЕРАНДОВ

Описание операндов инструкции имеет следующий вид:

<имя операнда>.<тип доступа><тип данных>

где:

  1. Имя операнда - краткое обозначение, отражающее роль операнда в контексте данной инструкции.
  2. Тип доступа - однобуквенное обозначение разрешённого типа доступа к данным определяемым операндом:

    a

    -

    Вычисляется исполнительный адрес указанного операнда. Адрес возвращается в формате длинного слова, которое по существу является истинным операндом инструкции. Вычисление адреса осуществляется в контексте, определяемом полем <тип данных> описания оператора, то есть значение приращения в операциях автоувеличения, автоуменьшения и индексирования выбирается в зависимости от формата, данных.

    b

    -

    Ссылка на операнд отсутствует. Описание операнда, задаёт смещение, определяющее адрес перехода. Формат смещения определяется полем <тип данных> описания оператора.

    m

    -

    Разрешено считывание определяемых операндом данных, данные могут быть модифицированы и вновь записаны. Отметьте, что если данные не были модифицированы, то перезапись данных может и не производиться. Однако, для операндов имеющих этот тип доступа (разрешающий модификацию данных), всегда осуществляется проверка на право доступа по чтению и записи.

    r

    -

    Разрешено только считывание данных.

    v

    -

    Вычисляется исполнительный адрес указанного операнда. Если этот адрес является адресом ячейки памяти, то он возвращается в формате длинного слова, которое по существу является истинным операндом инструкции. Вычисление адреса осуществляется в контексте определяемом полем <тип данных> описания оператора. Если обращение происходит к регистру Rn, то данные либо находятся в регистре Rn, либо в смежных регистрах Rn и R[n+1].

    w

    -

    Разрешено только занесение (запись) данных.

  3. Тип данных - буква, обозначающая данные какого типа представляет операнд:

    b

    -

    целое число в формате байта

    d

    -

    число с плавающей точкой в формате типа D

    f

    -

    число с плавающей точкой в формате типа F

    g

    -

    число с плавающей точкой в формате типа G

    h

    -

    число с плавающей точкой в формате типа Н

    l

    -

    целое число в формате длинного слова

    о

    -

    целое число в формате октаслова

    q

    -

    целое число в формате квадраслова

    w

    -

    целое число в формате слова

    x

    -

    первый тип данных, из указанных в инструкции

    y

    -

    второй тип данных, из указанных в инструкции

    *

    -

    несколько смежных длинных слов
    (применяется только для обозначения неявно заданных операндов)

  4. Операнды, которые не должны указываться в инструкции явно, но наличие которых предполагается (регистры или ячейки памяти) заключаются в квадратные скобки [ ].

Обозначения, применяемые для описания состояния битов кодов условия:

.

=

установка/сброс бита зависит от выполнения условия

-

=

значение бита не изменяется

0

=

бит сбрасывается

1

=

бит устанавливается

НАБОР ИНСТРУКЦИЙ

Код опера-ции

Мнемо-ника

 

 

Коды
условий

Операция

Операнды

N

Z

V

C

9D

ACBB

Сложить, сравнить и перейти (байт)

limit.rb, add.rb, index.mb, displ.bw

.

.

.

-

6F

ACBD

Сложить, сравнить и перейти (тип D)

limit.rd, add.rd, index.md, displ.bw

.

.

.

-

4F

ACBF

Сложить, сравнить и перейти (тип F)

limit.rf, add.rf, index.mf, displ.bw

.

.

.

-

4FFD

ACBG

Сложить, сравнить и перейти (тип G)

limit.rg, add.rg, index.mg, displ.bw

.

.

.

-

6FFD

ACBH

Сложить, сравнить и перейти (тип Н)

limit.rh, add.rh, index.mh, displ.bw

.

.

.

-

F1

ACBL

Сложить, сравнить и перейти (дл.слово)

limit.rl, add.rl, index.ml, displ.bw

.

.

.

-

3D

ACBW

Сложить, сравнить и перейти (слово)

limit.rw, add.rw, index.mw, displ.bw

.

.

.

-

58

ADAWI

Заблокировать и сложить (слово)

add.rw, sum.mw

.

.

.

.

80

ADDB2

Сложить (2-опер., байт)

add.rb, sum.mb

.

.

.

.

81

ADDB3

Сложить (3-опер., байт)

add1.rb, add2.rb, sum.wb

.

.

.

.

60

ADDD2

Сложить (2-опер., тип D)

add.rd, sum.md

.

.

.

0

61

ADDD3

Сложить (3-опер., тип D)

add1.rd, add2.rd, sum.wd

.

.

.

0

40

ADDF2

Сложить (2-опер., тип F)

add.rf, sum.mf

.

.

.

0

41

ADDF3

Сложить (3-опер., тип F)

add1.rf, add2.rf, sum.wf

.

.

.

0

40FD

ADDG2

Сложить (2-опер., тип G)

add.rg, sum.mg

.

.

.

0

41FD

ADDG3

Сложить (3-опер., тип G)

add1.rg, add2.rg, sum.wg

.

.

.

0

60FD

ADDH2

Сложить (2-опер., тип Н)

add.rh, sum.mh

.

.

.

0

61FD

ADDH3

Сложить (3-опер., тип Н)

add1.rh, add2.rh, sum.wh

.

.

.

0

C0

ADDL2

Сложить (2-опер., дл.слово)

add.rl, sum.ml

.

.

.

.

C1

ADDL3

Сложить (3-опер., дл.слово)

add1.rl.add2.rl, sum.wl

.

.

.

.

20

ADDP4

Сложить (4-опер., упаков.десятич.)

addlen.rw, addaddr.ab, sumlen.rw, sumaddr.ab, [R0-3.wl]

.

.

.

0

21

ADDP6

Сложить (6-опер., упаков.десятич.)

add1len.rw, add1addr.ab, add2len.rw, add2addr.ab, sumlen.rw, sumaddr.ab,
[R0-5.wl]

.

.

.

0

A0

ADDW2

Сложить (2-onep., слово)

add.rw, sum.mw

.

.

.

.

A1

ADDW3

Сложить (3-опер., слово)

add1.rw, add2.rw, sum.ww

.

.

.

.

D8

ADWC

Сложить с переносом

add.rl, sum.ml

.

.

.

.

F3

AOBLEQ

Прибавить 1; перейти, если >= 0

limit.rl, index.ml, displ.bb

.

.

.

-

F2

AOBLSS

Прибавить 1; перейти, если <= 0

limit.rl, index.ml, displ.bb

.

.

.

-

78

ASHL

Арифметический сдвиг (дл.слово)

count.rb, src.rl, dst.wl

.

.

.

0

F8

ASHP

Арифметический сдвиг и округление (упаков.десятич.)

count.rb, srclen.rw, srcaddr.ab,
round.rb, dstlen.rw, dstaddr.ab,
[R0-3.wl]

.

.

.

0

79

ASHQ

Арифметический сдвиг (квадраслово)

count.rb, src.rq, dst.wq

.

.

.

0

E1

BBC

Перейти, если бит сброшен

pos.rl, base.vb, displ.bb, [field.rv]

-

-

-

-

E5

BBCC

Перейти, если бит сброшен и сбросить его

pos.rl, base.vb, displ.bb, [field.mv]

-

-

-

-

E7

BBCCI

Перейти, если бит сброшен и заблокировав сбросить его

pos.rl, base.vb, displ.bb, [field.mv]

-

-

-

-

E3

BBCS

Перейти, если бит сброшен и установить его

pos.rl, base.vb, displ.bb, [field.mw]

-

-

-

-

E0

BBS

Перейти, если бит установлен

pos.rl, base.vb, displ.bb, [field.rv]

-

-

-

-

E4

BBSC

Перейти, если бит установлен и сбросить его

pos.rl, base.vb, displ.bb, [field.mv]

-

-

-

-

E2

BBSS

Перейти, если бит установлен и установить его

pos.rl, base.vb, displ.bb, [field.mv]

-

-

-

-

E6

BBSSI

Перейти, если бит установлен и заблокировав установить его

pos.rl, base.vb, displ.bb, [field.mv]

-

-

-

-

1E

BCC

Перейти, если бит С сброшен

displ.bb

-

-

-

-

1F

BCS

Перейти, если бит С установлен

displ.bb

-

-

-

-

13

BEQL

Перейти, если равны

displ.bb

-

-

-

-

13

BEQLU

Перейти, если равны (беззнаковые)

displ.bb

-

-

-

-

18

BGEQ

Перейти, если больше или равны

displ.bb

-

-

-

-

1E

BGEQU

Перейти, если больше или равны (беззнаковые)

displ.bb

-

-

-

-

14

BGTR

Перейти, если больше

displ.bb

-

-

-

-

1A

BGTRU

Перейти, если больше (беззнаковые)

displ.bb

-

-

-

-

8A

BICB2

Сбросить биты (2-опер., байт)

mask.rb, dst.mb

.

.

0

-

8B

BICB3

Сбросить биты (3-опер., байт)

mask.rb, src.rb, dst.wb

.

.

0

-

CA

BICL2

Сбросить биты (2-опер., дл.слово)

mask.rl, dst.ml

.

.

0

-

CB

BICL3

Сбросить биты (3-опер., дл.слово)

mask.rl, src.rl, dst.wl

.

.

0

-

B9

BICPSW

Сбросить биты в PSW

mask.rw

.

.

.

.

AA

BICW2

Сбросить биты (2-опер., слово)

mask.rw, dst.mw

.

.

0

-

AB

BICW3

Сбросить биты (3-опер., слово)

mask.rw, src.rw, dst.ww

.

.

0

-

88

BISB2

Установить биты (2-опер., байт)

mask.rb, dst.mb

.

.

0

-

89

BISB3

Установить биты (3-опер., байт)

mask.rb, src.rb, dst.wb

.

.

0

-

C8

BISL2

Установить биты (2-опер., дл.слово)

mask.rl, dst.ml

.

.

0

-

C9

BISL3

Установить биты (3-опер., дл.слово)

mask.rl, src.rl, dst.wl

.

.

0

-

B8

BISPSW

Установить биты в PSW

mask.rw

.

.

.

.

A8

BISW2

Установить биты (2-опер., слово)

mask.rw, dst.mw

.

.

0

-

A9

BISW3

Установить биты (3-опер., слово)

mask.rw, src.rw, dst.ww

.

.

0

-

93

BITB

Проверить биты (байт)

mask.rb, src.rb

.

.

0

-

D3

BITL

Проверить биты (дл.слово)

mask.rl, src.rl

.

.

0

-

B3

BITW

Проверить биты (слово)

mask.rw, src.rw

.

.

0

-

E9

BLBC

Перейти, если младший бит сброшен

src.rl, displ bb

-

-

-

-

E8

BLBS

Перейти, если младший бит установлен

src.rl, displ.bb

-

-

-

-

15

BLEQ

Перейти, если меньше или равны

displ.bb

-

-

-

-

18

BLEQU

Перейти, если меньше или равны (беззнаковые)

displ.bb

-

-

-

-

19

BLSS

Перейти, если меньше

displ.bb

-

-

-

-

1F

BLSSU

Перейти, если меньше (беззнаковые)

displ.bb

-

-

-

-

12

BNEQ

Перейти, если не равны

displ.bb

-

-

-

-

12

BNEQU

Перейти, если не равны (беззнаковые)

displ.bb

-

-

-

-

03

BPT

Прерывание в контрольной точке

[-(KSP).w*]

0

0

0

0

11

BRB

Перейти (смещение - байт)

displ.bb

-

-

-

-

31

BRW

Перейти (смещение - слово)

displ.bw

-

-

-

-

10

BSBB

Перейти к подпрограмме (смещение - байт)

displ.bb, [-(SP).wl]

-

-

-

-

30

BSBW

Перейти к подпрограмме (смещение - слово)

displ.bw, [-(SP).wl]

-

-

-

-

FDFF

BUGL

Внутренний контроль ОС VAX/VMS

 

0

0

0

0

FEFF

BUGW

Внутренний контроль ОС VAX/VMS

 

0

0

0

0

1C

BVC

Перейти, если бит V сброшен

displ.bb

-

-

-

-

1D

BVS

Перейти, если бит V установлен

displ.bb

-

-

-

-

FA

CALLG

Вызвать процедуру (общий список аргументов)

arglist.ab, dst.ab, [-(SP).w*]

0

0

0

0

FB

CALLS

Вызвать процедуру (список аргументов в стеке)

numarg.rl, dst.ab, [-(SP).w*]

0

0

0

0

8F

CASEB

Перейти в зависимости от выбора (селектор - байт)

selector.rb, base.rb, limit.rb, displ.bw-list

.

.

0

.

CF

CASEL

Перейти в зависимости от выбора (селектор - дл.слово)

selector.rl, base.rl, limit.rl, displ.bw-list

.

.

0

.

AF

CASEW

Перейти в зависимости от выбора (селектор - слово)

selector.rw, base.rw, limit.rw, displ.bw-list

.

.

0

.

BD

CHME

Переключить процессор в режим "управления"

param.rw, [-(ySP).w*]
y=MINU(E,PSLтекущ.режима)

0

0

0

0

BC

CHMK

Переключить процессор в режим "ядра"

param.rw, [-(KSP).w*]

0

0

0

0

BE

CHMS

Переключить процессор в режим "супервизора"

param.rw, [-(ySP).w*]
y=MINU(S,PSLтекущ.режима)

0

0

0

0

BF

CHMU

Переключить процессор в режим "пользователя"

param.rw, [-(SP).w*]

0

0

0

0

94

CLRB

Очистить (байт)

dst.wb

0

1

0

-

7C

CLRD

Очистить (тип D)

dst.wd

0

1

0

-

D4

CLRF

Очистить (тип F)

dst.wf

0

1

0

-

7C

CLRG

Очистить (тип G)

dst.wg

0

1

0

-

7CFD

CLRH

Очистить (тип Н)

dst.wh

0

1

0

-

D4

CLRL

Очистить (дл.слово)

dst.wl

0

1

0

-

7CFD

CLRO

Очистить (октаслово)

dst.wo

0

1

0

-

7C

CLRQ

Очистить (квадраслово)

dst.wq

0

1

0

-

B4

CLRW

Очистить (слово)

dst.ww

0

1

0

-

91

CMPB

Сравнить (байт)

src1.rb, src2.rb

.

.

0

.

29

CMPC3

Сравнить (3-опер., симв.строка)

len.rw, src1addr.ab, src2addr.ab,
[R0-3.wl]

.

.

0

.

2D

CMPC5

Сравнить (5-опер., симв.строка)

src1len.rw, src1addr.ab, fill.rb,
src2len.rw, src2addr.ab, [R0-3.wl]

.

.

0

.

71

CMPD

Сравнить (тип D)

src1.rd, src2.rd

.

.

0

0

51

CMPF

Сравнить (тип F)

src1.rf, src2.rf

.

.

0

0

51FD

CMPG

Сравнить (тип G)

src1.rg, src2.rg

.

.

0

0

71FD

CMPH

Сравнить (тип H)

src1.rh, src2.rh

.

.

0

0

D1

CMPL

Сравнить (дл.слово)

src1.rl, src2.rl

.

.

0

.

35

CMPP3

Сравнить (3-опер., упаков.десятич.)

len.rw, src1addr.ab, src2addr.ab,
[R0-3.wl]

.

.

0

0

37

CMPP4

Сравнить (4-опер., упаков.десятич.)

src1len.rw, src1addr.ab, src2len.rw, src2addr.ab, [R0-3.wl]

.

.

0

0

EC

CMPV

Сравнить (битовое поле)

pos.rl, size.rb, base.vb,
[field.rv], src.rl

.

.

0

.

B1

CMPW

Сравнить (слово)

src1.rw, src2.rw

.

.

0

.

ED

CMPZV

Сравнить дополненное незначащими нулями (битовое поле)

pos.rl, size.rb, base.vb,
[field.rv], src.rl

.

.

0

.

0B

CRC

Вычислить контрольную сумму

tbl.ab, initialcrc.rl, strlen.rw,
stream.ab, [R0-3.wl]

.

.

0

0

6C

CVTBD

Преобразовать (байт - тип D)

src.rb, dst.wd

.

.

.

0

4C

CVTBF

Преобразовать (байт - тип F)

src.rb, dst.wf

.

.

.

0

4CFD

CVTBG

Преобразовать (байт - тип G)

src.rb, dst.wg

.

.

.

0

6CFD

CVTBH

Преобразовать (байт - тип Н)

src.rb, dst.wh

.

.

.

0

98

CVTBL

Преобразовать (байт - дл.слово)

src.rb, dst.wl

.

.

.

0

99

CVTBW

Преобразовать (байт - слово)

src.rb, dst.ww

.

.

.

0

68

CVTDB

Преобразовать (тип D - байт)

src.rd, dst.wb

.

.

.

0

76

CVTDF

Преобразовать (тип D - тип F)

src.rd, dst.wf

.

.

.

0

32FD

CVTDH

Преобразовать (тип D - тип Н)

src.rd, dst.wh

.

.

.

0

6A

CVTDL

Преобразовать (тип D - дл.слово)

src.rd, dst.wl

.

.

.

0

69

CVTDW

Преобразовать (тип D - слово)

src.rd, dst.ww

.

.

.

0

48

CVTFB

Преобразовать (тип F - байт)

src.rf, dst.wb

.

.

.

0

56

CVTFD

Преобразовать (тип F - тип D)

src.rf, dst.wd

.

.

.

0

99FD

CVTFG

Преобразовать (тип F - тип G)

src.rf, dst.wg

.

.

.

0

98FD

CVTFH

Преобразовать (тип F - тип Н)

src.rf, dst.wh

.

.

.

0

4A

CVTFL

Преобразовать (тип F - дл.слово)

src.rf, dst.wl

.

.

.

0

49

CVTFW

Преобразовать (тип F - слово)

src.rf, dst.ww

.

.

.

0

48FD

CVTGB

Преобразовать (тип G - байт)

src.rg, dst.wb

.

.

.

0

33FD

CVTGF

Преобразовать (тип G - тип F)

src.rg, dst.wf

.

.

.

0

56FD

CVTGH

Преобразовать (тип G - тип Н)

src.rg, dst.wh

.

.

.

0

4AFD

CVTGL

Преобразовать (тип G - дл.слово)

src.rg, dst.wl

.

.

.

0

49FD

CVTGW

Преобразовать (тип G - слово)

src.rg, dst.ww

.

.

.

0

68FD

CVTHB

Преобразовать (тип Н - байт)

src.rh, dst.wb

.

.

.

0

F7FD

CVTHD

Преобразовать (тип Н - тип D)

src.rh, dst.wd

.

.

.

0

F6FD

CVTHF

Преобразовать (тип Н - тип F)

src.rh, dst.wf

.

.

.

0

76FD

CVTHG

Преобразовать (тип H - тип G)

src.rh, dst.wg

.

.

.

0

6AFD

CVTHL

Преобразовать (тип Н - дл.слово)

src.rh, dst.wl

.

.

.

0

69FD

CVTHW

Преобразовать (тип Н - слово)

src.rh, dst.ww

.

.

.

0

F6

CVTLB

Преобразовать (дл.слово - байт)

src.rl, dst.wb

.

.

.

0

6E

CVTLD

Преобразовать (дл.слово - тип D)

src.rl, dst.wd

.

.

.

0

4E

CVTLF

Преобразовать (дл.слово - тип F)

src.rl, dst.wf

.

.

.

0

4EFD

CVTLG

Преобразовать (дл.слово - тип G)

src.rl, dst.wg

.

.

.

0

6EFD

CVTLH

Преобразовать (дл.слово - тип Н)

src.rl, dst.wh

.

.

.

0

F9

CVTLP

Преобразовать (дл.слово - упаков.десятич.)

src.rl, dstlen.rw, dstaddr.ab,
[R0-3.wl]

.

.

.

0

F7

CVTLW

Преобразовать (дл.слово - слово)

src.rl, dst.ww

.

.

.

0

36

CVTPL

Преобразовать (упаков.десятич. - дл.слово)

srclen.rw, srcaddr.ab, [R0-3.wl], dst.wl

.

.

.

0

08

CVTPS

Преобразовать (упаков.десятич. - числ. строка с разд. ведущим знаком)

srclen.rw, srcaddr.ab,
dstlen.rw, dstaddr.ab, [R0-3.wl]

.

.

.

0

24

CVTPT

Преобразовать (упаков.десятич. - числ.строка с ведомым знаком)

srclen.rw, srcaddr.ab, tbladdr.ab dstlen.rw, dstaddr.ab, [R0-3.wl]

.

.

.

0

6B

CVTRDL

Преобразовать с округлением (тип D - дл.слово)

src.rd, dst.wl

.

.

.

0

4B

CVTRFL

Преобразовать с округлением (тип F - дл.слово)

src.rf, dst.wl

.

.

.

0

4BFD

CVTRGL

Преобразовать с округлением (тип G - дл.слово)

src.rg, dst.wl

.

.

.

0

6BFD

CVTRHL

Преобразовать с округлением (тип Н - дл.слово)

src.rh, dst.wl

.

.

.

0

09

CVTSP

Преобразовать (числ.строка с разд. ведущим знаком - упаков.десятич.)

srclen.rw, srcaddr.ab,
dstlen.rw, dstaddr.ab, [R0-3.wl]

.

.

.

0

26

CVTTP

Преобразовать (числ.строка с ведомым знаком - упаков.десятич.)

srclen.rw, srcaddr.ab, tbladdr.ab, dstlen.rw, dstaddr.ab, [R0-3.wl]

.

.

.

0

33

CVTWB

Преобразовать (слово - байт)

src.rw, dst.wb

.

.

.

0

6D

CVTWD

Преобразовать (слово - тип D)

src.rw, dst.wd

.

.

.

0

4D

CVTWF

Преобразовать (слово - тип F)

src.rw, dst.wf

.

.

.

0

4DFD

CVTWG

Преобразовать (слово - тип G)

src.rw, dst.wg

.

.

.

0

6DFD

CVTWH

Преобразовать (слово - тип Н)

src.rw, dst.wh

.

.

.

0

32

CVTWL

Преобразовать (слово - дл.слово)

src.rw, dst.wl

.

.

.

0

97

DECB

Уменьшить на 1 (байт)

dif.mb

.

.

.

.

D7

DECL

Уменьшить на 1 (дл.слово)

dif.ml

.

.

.

.

B7

DECW

Уменьшить на 1 (слово)

dif.mw

.

.

.

.

86

DIVB2

Разделить (2-опер., байт)

divr.rb, quo.mb

.

.

.

0

87

DIVB3

Разделить (3-опер., байт)

divr.rb, divd.rb, quo.wb

.

.

.

0

66

DIVD2

Разделить (2-опер., тип D)

divr.rd, quo.md

.

.

.

0

67

DIVD3

Разделить (3-опер., тип D)

divr.rd, divd.rd, quo.wd

.

.

.

0

46

DIVF2

Разделить (2-опер., тип F)

divr.rf, quo.mf

.

.

.

0

47

DIVF3

Разделить (3-опер., тип F)

divr.rf, divd.rf, quo.wf

.

.

.

0

46FD

DIVG2

Разделить (2-опер., тип G)

divr.rg, quo.mg

.

.

.

0

47FD

DIVG3

Разделить (3-опер., тип G)

divr.rg, divd.rg, quo.wg

.

.

.

0

66FD

DIVH2

Разделить (2-опер., тип H)

divr.rh, quo.mh

.

.

.

0

67FD

DIVH3

Разделить (3-опер., тип H)

divr.rh, divd.rh, quo.wh

.

.

.

0

C6

DIVL2

Разделить (2-опер., дл.слово)

divr.rl, quo.ml

.

.

.

0

C7

DIVL3

Разделить (3-опер., дл.слово)

divr.rl, divd.rl, quo.wl

.

.

.

0

27

DIVP

Разделить (упаков.десятич.)

divrlen.rw, divraddr.ab, divdlen.rw,
divdaddr.ab, quolen.rw, quoaddr.ab,
[R0-5.wl, -16(SP):-1(SP).wb]

.

.

.

0

A6

DIVW2

Разделить (2-опер., слово)

divr.rw, quo.mw

.

.

.

0

A7

DIVW3

Разделить (3-опер., слово)

divr.rw, divd.rw, quo.ww

.

.

.

0

38

EDITPC

Отредактировать (упаков.десятич. - симв.строка)

srclen.rw, srcaddr.ab, pattern.ab, dstaddr.ab, [R0-5.wl]

.

.

.

.

7B

EDIV

Расширенное деление

divr.rl, divd.rq, quo.wl, rem.wl

.

.

.

0

74

EMODD

Расширенное умножение с выделением целой части числа (тип D)

mulr.rd, mulrx.rb, muld.rd, int.wl, fract.wd

.

.

.

0

54

EMODF

Расширенное умножение с выделением целой части числа (тип F)

mulr.rf, mulrx.rb, muld.rf, int.wl, fract.wf

.

.

.

0

54FD

EMODG

Расширенное умножение с выделением целой части числа (тип G)

mulr.rg, mulrx.rw, muld.rg, int.wl, fract.wg

.

.

.

0

74FD

EMODH

Расширенное умножение с выделением целой части числа (тип Н)

mulr.rh, mulrx.rw, muld.rh, int.wl, fract.wh

.

.

.

0

7A

EMUL

Расширенное умножение

mulr.rl, muld.rl, add.rl, prod.wq

.

.

0

0

FD

ESCD

Переключающий код D

 

.

.

.

.

FE

ESCE

Переключающий код Е

 

.

.

.

.

FF

ESCF

Переключающий код F

 

.

.

.

.

EE

EXTV

Выделить битовое поле

pos.rl, size.rb, base.vb, [field.rv], dst.wl

.

.

0

-

EF

EXTZV

Выделить дополненное незначащими нулями битовое поле

pos.rl, size.rb, base.vb, [field.rv], dst.wl

.

.

0

-

EB

FFC

Найти первый сброшенный бит

startpos.rl, size.rb, base.vb, [field.rv], findpos.wl

0

.

0

0

EA

FFS

Найти первый установленный бит

startpos.rl, size.rb, base.vb, [field.rv], findpos.wl

0

.

0

0

00

HALT

Останов

[-(KSP).w*]

.

.

.

.

96

INCB

Увеличить на 1 (байт)

sum.mb

.

.

.

.

D6

INCL

Увеличить на 1 (дл.слово)

sum.ml

.

.

.

.

B6

INCW

Увеличить на 1 (слово)

sum.mw

.

.

.

.

0A

INDEX

Вычислить индекс массива

subscript.rl, low.rl, high.rl, size.rl, entry.rl, addr.wl

.

.

0

0

5C

INSQHI

Включить элемент в начало очереди

entry.ab, header.aq

0

.

0

.

5D

INSQTI

Включить элемент в конец очереди

entry.ab, header.aq

0

.

0

.

0E

INSQUE

Включить элемент в очередь

entry.ab, addr.wl

.

.

0

.

F0

INSV

Вставить битовое поле

src.rl, pos.rl, size.rb, base.vb, [field.wy]

-

-

-

-

17

JMP

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

dst.ab

-

-

-

-

16

JSB

Перейти к подпрограмме

dst.ab, [-(SP)+.wl]

-

-

-

-

06

LDPCTX

Загрузить контекст процесса

[PCB.r*.-(KSP).w*]

-

-

-

-

3A

LOCC

Найти символ

char.rb, len.rw, addr.ab, [R0-1.wl]

0

.

0

0

39

MATCHC

Найти подстроку символов

len1.rw, addr1.ab,
len2.rw, addr2.ab, [R0-3.wl]

0

.

0

0

92

MCOMB

Переслать дополнение (байт)

src.rb, dst.wb

.

.

0

-

D2

MCOML

Переслать дополнение (дл.слово)

src.rl, dst.wl

.

.

0

-

B2

MCOMW

Переслать дополнение (слово)

src.rw, dst.ww

.

.

0

-

DB

MFPR

Переслать из привилегированного регистра

procreg.rl, dst.wl

.

.

0

-

8E

MNEGB

Переслать с изменением знака (байт)

src.rb, dst.wb

.

.

.

.

72

MNEGD

Переслать с изменением знака (тип D)

src.rd, dst.wd

.

.

0

0

52

MNEGF

Переслать с изменением знака (тип F)

src.rf, dst.wf

.

.

0

0

52FD

MNEGG

Переслать с изменением знака (тип G)

src.rg, dst.wg

.

.

0

0

72FD

MNEGH

Переслать с изменением знака (тип Н)

src.rh, dst.wh

.

.

0

0

CE

MNEGL

Переслать с изменением знака (дл.слово)

src.rl, dst.wl

.

.

.

.

AE

MNEGW

Переслать с изменением знака (слово)

src.rw, dst.ww

.

.

.

.

9E

MOVAB

Переслать адрес (байт)

src.ab, dst.wl

.

.

0

-

7E

MOVAD

Переслать адрес (тип D)

src.aq, dst.wl

.

.

0

-

DE

MOVAF

Переслать адрес (тип F)

src.al, dst.wl

.

.

0

-

7E

MOVAG

Переслать адрес (тип G)

src.aq, dst.wl

.

.

0

-

7EFD

MOVAH

Переслать адрес (тип Н)

src.ao, dst.wl

.

.

0

-

DE

MOVAL

Переслать адрес (дл.слово)

src.al, dst.wl

.

.

0

-

7EFD

MOVAO

Переслать адрес (октаслово)

src.ao, dst.wl

.

.

0

-

7E

MOVAQ

Переслать адрес (квадраслово)

src.aq, dst.wl

.

.

0

-

3E

MOVAW

Переслать адрес (слово)

src.aw, dst.wl

.

.

0

-

90

MOVB

Переслать (байт)

src.rb, dst.wb

.

.

0

-

28

MOVC3

Переслать (3-опер., симв.строка)

len.rw, srcaddr.ab, dstaddr.ab,
[R0-5.wl]

0

1

0

0

2C

MOVC5

Переслать (5-опер., симв.строка)

srclen.rw, srcaddr.ab, fill.rb,
dstlen.rw, dstaddr.ab, [R0-5.wl]

.

.

0

.

70

MOVD

Переслать (тип D)

src.rd, dst.wd

.

.

0

-

50

MOVF

Переслать (тип F)

src.rf, dst.wf

.

.

0

-

50FD

MOVG

Переслать (тип G)

src.rg, dst.wg

.

.

0

-

70FD

MOVH

Переслать (тип Н)

src.rh, dst.wh

.

.

0

-

D0

MOVL

Переслать (дл.слово)

src.rl, dst.wl

.

.

0

-

7DFD

MOVO

Переслать (октаслово)

src.ro, dst.wo

.

.

0

-

34

MOVP

Переслать (упаков.десятич.)

len.rw, srcaddr.ab, dstaddr.ab,
[R0-3.wl]

.

.

0

-

DC

MOVPSL

Переслать PSL

dst.wl

-

-

-

-

7D

MOVQ

Переслать (квадраслово)

src.rq, dst.wq

.

.

0

-

2E

MOVTC

Переслать символы с перекодированием

srclen.rw, srcaddr.ab, fill.rb, tbladdr.ab, dstlen.rw, dstaddr.ab,
[R0-5.wl]

.

.

0

.

2F

MOVTUC

Пересылать символы с перекодированием до обнаружения символа-переключателя

srclen.rw, srcaddr.ab, escape.rb, tbladdr.ab, dstlen.rw, dstaddr.ab,
[R0-5.wl]

.

.

.

.

B0

MOVW

Переслать (слово)

src.rw, dst.ww

.

.

0

-

9A

MOVZBL

Переслать дополненный незначащими нулями (байт - дл.слово)

src.rb, dst.wl

0

.

0

-

9B

MOVZBW

Переслать дополненный незначащими нулями (байт - слово)

src.rb, dst.ww

0

.

0

-

3C

MOVZWL

Переслать дополненное незначащими нулями (слово - дл.слово)

src.rw, dst.wl

0

.

0

-

DA

MTPR

Переслать в привилегированный регистр

src.rl, procreg.wl

.

.

0

-

84

MULB2

Умножить (2-опер., байт)

mulr.rb, prod.mb

.

.

.

0

85

MULB3

Умножить (3-опер., байт)

mulr.rb, muld.rb, prod.wb

.

.

.

0

64

MULD2

Умножить (2-опер., тип D)

mulr.rd, prod.md

.

.

.

0

65

MULD3

Умножить (3-опер., тип D)

mulr.rd, muld.rd, prod.wd

.

.

.

0

44

MULF2

Умножить (2-опер., тип F)

mulr.rf, prod.mf

.

.

.

0

45

MULF3

Умножить (3-опер., тип F)

mulr.rf, muld.rf, prod.wf

.

.

.

0

44FD

MULG2

Умножить (2-опер., тип G)

mulr.rg, prod.mg

.

.

.

0

45FD

MULG3

Умножить (3-опер., тип G)

mulr.rg, muld.rg, prod.wg

.

.

.

0

64FD

MULH2

Умножить (2-опер., тип Н)

mulr.rh, prod.rh

.

.

.

0

65FD

MULH3

Умножить (3-опер., тип Н)

mulr.rh, muld.rh, prod.wh

.

.

.

0

C4

MULL2

Умножить (2-опер., дл.слово)

mulr.rl, prod.rl

.

.

.

0

C5

MULL3

Умножить (3-опер., дл.слово)

mulr.rl, muld.rl, prod.wl

.

.

.

0

25

MULP

Умножить (упаков.десятич.)

mulrlen.rw, mulradr.ab
muldlen.rw, muldadr.ab,
prodlen.rw, prodadr.ab, [R0-5.wl]

.

.

.

0

A4

MULW2

Умножить (2-опер., слово)

mulr.rw, prod.mw

.

.

.

0

A5

MULW3

Умножить (3-опер., слово)

mulr.rw, muld.rw, prod.ww

.

.

.

0

01

NOP

Нет операции

 

-

-

-

-

75

POLYD

Вычислить полином (тип D)

arg.rd, degree.rw, tbladdr.ab,
[R0-5.wl]

.

.

.

0

55

POLYF

Вычислить полином (тип F)

arg.rf, degree.rw, tbladdr.ab,
[R0-5.wl]

.

.

.

0

55FD

POLYG

Вычислить полином (тип G)

arg.rg, degree.rw, tbladdr.ab,
[R0-5.wl]

.

.

.

0

75FD

POLYH

Вычислить полином (тип Н)

arg.rh, degree.rw, tbladdr.ab,
[R0-5.wl, -16(SP):-1(SP).wl]

.

.

.

0

BA

POPR

Извлечь из стека содержимое регистров

mask.rw, [(SP)+.r*]

-

-

-

-

0C

PROBER

Проверить право на доступ по чтению

mode.rb, len.rw, base.ab

0

.

0

-

0D

PROBEW

Проверить право на доступ по записи

mode.rb, len.rw, base.ab

0

.

0

-

9F

PUSHAB

Включить в стек адрес (байт)

src.ab, [-(SP).wl]

.

.

0

-

7F

PUSHAD

Включить в стек адрес (тип D)

src.aq, [-(SP).wl]

.

.

0

-

DF

PUSHAF

Включить в стек адрес (тип F)

src.al, [-(SP).wl)

.

.

0

-

7F

PUSHAG

Включить о стек адрес (тип G)

src.aq, [-(SP).wl]

.

.

0

-

7FFD

PUSHAH

Включить в стек адрес (тип Н)

src.ao, [-(SP).wl]

.

.

0

-

DF

PUSHAL

Включить в стек адрес (дл.слово)

src.al, [-(SP).wl]

.

.

0

-

7FFD

PUSHAO

Включить в стек адрес (октаслово)

src.ao, [-(SP).wl]

.

.

0

-

7F

PUSHAQ

Включить в стек адрес (квадраслово)

src.aq, [-(SP).wl]

.

.

0

-

3F

PUSHAW

Включить в стек адрес (слово)

src.aw, [-(SP).wl]

.

.

0

-

DD

PUSHL

Включить в стек (дл.слово)

src.al, [-(SP).wl]

.

.

0

-

BB

PUSHR

Включить в стек содержимое регистров

mask.rw, [-(SP).w*]

-

-

-

-

02

REI

Возврат после обработки исключительной ситуации или прерывания

[(SP)+.r*]

.

.

.

.

5E

REMQHI

Исключить элемент из начала очереди

header.aq, addr.wl

0

.

.

.

5F

REMQTI

Исключить элемент из конца очереди

header.aq, addr.wl

0

.

.

.

0F

REMQUE

Исключить элемент из очереди

entry.ab, addr.wl

.

.

.

.

04

RET

Возврат из процедуры

[(SP)+.rl]

.

.

.

.

9C

ROTL

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

count.rb, src.rl, dst.wl

.

.

0

-

05

RSB

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

[(SP)+.rl]

-

-

-

-

57

 

Зарезервировано

 

 

 

 

 

5A

 

Зарезервировано

 

 

 

 

 

5B

 

Зарезервировано

 

 

 

 

 

77

 

Зарезервировано

 

 

 

 

 

FE

 

Зарезервировано

 

 

 

 

 

FF

 

Зарезервировано

 

 

 

 

 

D9

SBWC

вычесть с заёмом (переносом)

sub.rl, dif.ml

.

.

.

.

2A

SCANC

Искать символ принадлежащий заданному множеству

len.rw, addr.ab, tbladdr.ab, mask.rb, [R0-1.wl]

0

.

0

0

3B

SKPC

Пропустить символ

char.rb, len.rw, addr.ab, [R0-1.wl]

0

.

0

0

F4

SOBGEQ

Вычесть 1; перейти, если >= 0

index.ml, displ.bb

.

.

.

.

F5

SOBGTR

Вычесть 1; перейти, если <= 0

index.ml, displ.bb

.

.

.

.

2B

SPANC

Пропустить символы принадлежащие заданному множеству

len.rw, addr.ab, tbladdr.ab, mask.rb, [R0-3.wl]

0

.

0

0

82

SUBB2

Вычесть (2-опер., байт)

sub.rb, dif.mb

.

.

.

.

83

SUBB3

Вычесть (3-опер., байт)

sub.rb, min.rb, dif.wb

.

.

.

.

62

SUBD2

Вычесть (2-опер., тип D)

sub.rd, dif.md

.

.

.

0

63

SUBD3

Вычесть (3-опер., тип D)

sub.rd, min.rd, dif.wd

.

.

.

0

42

SUBF2

Вычесть (2-опер., тип F)

sub.rf, dif.mf

.

.

.

0

43

SUBF3

Вычесть (3-опер., тип F)

sub.rf, min.rf, dif.wf

.

.

.

0

42FD

SUBG2

Вычесть (2-опер., тип G)

sub.rg, dif.mg

.

.

.

0

43FD

SUBG3

Вычесть (3-опер., тип G)

sub.rg, min.rg, dif.wg

.

.

.

0

62FD

SUBH2

Вычесть (2-опер., тип Н)

sub.rh, dif.mh

.

.

.

0

63FD

SUBH3

Вычесть (3-опер., тип Н)

sub.rh, min.rh, dif.wh

.

.

.

0

C2

SUBL2

Вычесть (2-опер., дл.слово)

sub.rl, dif.ml

.

.

.

.

C3

SUBL3

Вычесть (3-опер., дл.слово)

sub.rl, min.rl, dif.wl

.

.

.

.

22

SUBP4

Вычесть (4-опер., упаков.десятич.)

sublen.rw, subaddr.ab,
diflen.rw, difaddr.ab, [R0-3.wl]

.

.

.

0

23

SUBP6

Вычесть (6-опер., упаков.десятич.)

sublen.rw, subaddr.ab,
minlen.rw, minaddr.ab,
difaddr.ab, [R0-5.wl]

.

.

.

0

A2

SUBW2

Вычесть (2-опер., слово)

sub.rw, dif.mw

.

.

.

.

A3

SUBW3

Вычесть (3-опер., слово)

sub.rw, min.rw, dif.ww

.

.

.

.

07

SVPCTX

Сохранить контекст процесса

[(SP)+.r*, -(KSP).w*]

-

-

-

-

95

TSTB

Проверить (байт)

src.rb

.

.

0

0

73

TSTD

Проверить (тип D)

src.rd

.

.

0

0

53

TSTF

Проверить (тип F)

src.rf

.

.

0

0

53FD

TSTG

Проверить (тип G)

src.rg

.

.

0

0

73FD

TSTH

Проверить (тип Н)

src.rh

.

.

0

0

D5

TSTL

Проверить (дл.слово)

src.rl

.

.

0

0

B5

TSTW

Проверить (слово)

src.rw

.

.

0

0

FC

XFC

Вызов функции расширения

Операнды определяются пользователем

0

0

0

0

8C

XORB2

Исключающее ИЛИ (2-опер., байт)

mask.rb, dst.mb

.

.

0

-

8D

XORB3

Исключающее ИЛИ (3-опер., байт)

mask.rb, src.rb, dst.wb

.

.

0

-

CC

XORL2

Исключающее ИЛИ (2-опер., дл.слово)

mask.rl, dst.ml

.

.

0

-

CD

XORL3

Исключающее ИЛИ (3-опер., дл.слово)

mask.rl, src.rl, dst.wl

.

.

0

-

AC

XORW2

Исключающей ИЛИ (2-опер., слово)

mask.rw, dst.mw

.

.

0

-

AD

XORW3

Исключающее ИЛИ (3-опер., слово)

mask.rw, src.rw, dst.ww

.

.

0

-

ИНСТРУКЦИИ В ПОРЯДКЕ ВОЗРАСТАНИЯ ЧИСЛОВОГО ЗНАЧЕНИЯ КОДА ОПЕРАЦИИ

00

HALT

10

BSBB

1E

BCC

2C

MOVC5

3A

LOCC

01

NOP

11

BRB

1E

BGEQU

2D

CMPC5

3B

SKPC

02

REI

12

BNEQ

1F

BCS

2E

MOVTC

3C

MOVZWL

03

BPT

12

BNEQU

1F

BLSSU

2F

MOVTUC

3D

ACBW

04

RET

13

BEQL

20

ADDP4

30

BSBW

3E

MOVAW

05

RSB

13

BEQLU

21

ADDP6

31

BRW

3F

PUSHAW

06

LDPCTX

14

BGTR

22

SUBP4

32

CVTWL

40

ADDF2

07

SVPCTX

15

BLEQ

23

SUBP6

32FD

CVTDH

40FD

ADDG2

08

CVTPS

16

JSB

24

CVTPT

33

CVTWB

41

ADDF3

09

CVTSP

17

JMP

25

MULP

33FD

CVTGF

41FD

ADDG3

0A

INDEX

18

BGEQ

26

CVTTP

34

MOVP

42

SUBF2

0B

CRC

19

BLSS

27

DIVP

35

CMPP3

42FD

SUBG2

0C

PROBER

1A

BGTRU

28

MOVC3

36

CVTPL

43

SUBF3

0D

PROBEW

1B

BLEQU

29

CMPC3

37

CMPP4

43FD

SUBG3

0E

INSQUE

1C

BVC

2A

SCANC

38

EDITPC

44

MULF2

0F

REMQUE

1D

BVS

2B

SPANC

39

MATCHC

44FD

MULG2

                   

45

MULF3

4E

CVTLF

57

Reserved

65

MULD3

6E

CVTLD

45FD

MULG3

4EFD

CVTLG

58

ADAWI

65FD

MULH3

6EFD

CVTLH

46

DIVF2

4F

ACBF

5A

Reserved

66

DIVD2

6F

ACBD

46FD

DIVG2

4FFD

ACBG

5B

Reserved

66FD

DIVH2

6FFD

ACBH

47

DIVF3

50

MOVF

5C

INSQHI

67

DIVD3

70

MOVD

47FD

DIVG3

50FD

MOVG

5D

INSQTI

67FD

DIVH3

70FD

MOVH

48

CVTFB

51

CMPF

5E

REMQHI

68

CVTDB

71

CMPD

48FD

CVTGB

51FD

CMPG

5F

REMQTI

68FD

CVTHB

71FD

CMPH

49

CVTFW

52

MNEGF

60

ADDD2

69

CVTDW

72

MNEGD

49FD

CVTGW

52FD

MNEGG

60FD

ADDH2

69FD

CVTHW

72FD

MNEGH

4A

CVTFL

53

TSTF

61

ADDD3

6A

CVTDL

73

TSTD

4AFD

CVTGL

53FD

TSTG

61FD

ADDH3

6AFD

CVTHL

73FD

TSTH

4B

CVTRFL

54

EMODF

62

SUBD2

6B

CVTRDL

74

EMODD

4BFD

CVTRGL

54FD

EMODG

62FD

SUBH2

6BFD

CVTRHL

74FD

EMODH

4C

CVTBF

55

POLYF

63

SUBD3

6C

CVTBD

75

POLYD

4CFD

CVTBG

55FD

POLYG

63FD

SUBH3

6CFD

CVTBH

75FD

POLYH

4D

CVTWF

56

CVTFD

64

MULD2

6D

CVTWD

76

CVTDF

4DFD

CVTWG

56FD

CVTGH

64FD

MULH2

6DFD

CVTWH

76FD

CVTHG

                   

77

Reserved

7F

PUSHAG

8E

MNEGB

9E

MOVAB

B0

MOVW

78

ASHL

7F

PUSHAQ

8F

CASEB

9F

PUSHAB

B1

CMPW

79

ASHQ

7FFD

PUSHAH

90

MOVB

A0

ADDW2

B2

MCOMW

7A

EMUL

7FFD

PUSHAO

91

CMPB

A1

ADDW3

B3

BITW

7B

EDIV

80

ADDB2

92

MCOMB

A2

SUBW2

B4

CLRW

7C

CLRD

81

ADDB3

93

BITB

A3

SUBW3

B5

TSTW

7C

CLRG

82

SUBB2

94

CLRB

A4

MULW2

B6

INCW

7C

CLRQ

83

SUBB3

95

TSTB

A5

MULW3

B7

DECW

7CFD

CLRH

84

MULB2

96

INCB

A6

DIVW2

B8

BISPSW

7CFD

CLRO

85

MULB3

97

DECB

A7

DIVW3

B9

BICPSW

7D

MOVQ

86

DIVB2

98

CVTBL

A8

BISW2

BA

POPR

7DFD

MOVO

87

DIVB3

98FD

CVTFH

A9

BISW3

BB

PUSHR

7E

MOVAD

88

BISB2

99

CVTBW

AA

BICW2

BC

CHMK

7E

MOVAG

89

BISB3

99FD

CVTFG

AB

BICW3

BD

CHME

7E

MOVAQ

8A

BICB2

9A

MOVZBL

AC

XORW2

BE

CHMS

7EFD

MOVAH

8B

BICB3

9B

MOVZBW

AD

XORW3

BF

CHMU

7EFD

MOVAO

8C

XORB2

9C

ROTL

AE

MNEGW

C0

ADDL2

7F

PUSHAD

8D

XORB3

9D

ACBB

AF

CASEW

C1

ADDL3

 

C2

SUBL2

D4

CLRF

E3

BBCS

F5

SOBGTR

C3

SUBL3

D4

CLRL

E4

BBSC

F6

CVTLB

C4

MULL2

D5

TSTL

E5

BBCC

F6FD

CVTHF

C5

MULL3

D6

INCL

E6

BBSSI

F7

CVTLW

C6

DIVL2

D7

DECL

E7

BBCCI

F7FD

CVTHD

C7

DIVL3

D8

ADWC

E8

BLBS

F8

ASHP

C8

BISL2

D9

SBWC

E9

BLBC

F9

CVTLP

C9

BISL3

DA

MTPR

EA

FFS

FA

CALLG

CA

BICL2

DB

MFPR

EB

FFC

FB

CALLS

CB

BICL3

DC

MOVPSL

EC

CMPV

FC

XFC

CC

XORL2

DD

PUSHL

ED

CMPZV

FD

ESCD

CD

XORL3

DE

MOVAF

EE

EXTV

FDFF

BUGL

CE

MNEGL

DE

MOVAL

EF

EXTZV

FE

ESCE

CF

CASEL

DF

PUSHAF

F0

INSV

FE

Reserved

D0

MOVL

DF

PUSHAL

F1

ACBL

FEFF

BUGW

D1

CMPL

E0

BBS

F2

AOBLSS

FF

ESCF

D2

MCOML

E1

BBC

F3

AOBLEQ

FF

Reserved

D3

BITL

E2

BBSS

F4

SOBGEQ

 

 

ТАБЛИЦА ПРЕОБРАЗОВАНИЯ ШЕСТНАДЦАТЕРИЧНЫХ ЧИСЕЛ

8

7

6

5

4

3

2

1

HEX

DEC

HEX

DEC

HEX

DEC

HEX

DEC

HEX

DEC

HEX

DEC

HEX

DEC

HEX

DEC

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

268,435,456

1

16,777,216

1

1,048,576

1

65,536

1

4,096

1

256

1

16

1

1

2

536,870,912

2

33,554,432

2

2,097,152

2

131,072

2

8,192

2

512

2

32

2

2

3

805,306,368

3

50,331,648

3

3,145,728

3

196,608

3

12,288

3

768

3

48

3

3

4

1,073,741,824

4

67,108,864

4

4,194,304

4

262,144

4

16,384

4

1,024

4

64

4

4

5

1,342,177,280

5

83,886,080

5

5,242,880

5

327,680

5

20,480

5

1,280

5

80

5

5

6

1,610,612,736

6

100,663,296

6

6,291 456

6

393,216

6

24,576

6

1,536

6

96

6

6

7

1,879,048,192

7

117,440,512

7

7,340,032

7

458,752

7

28,672

7

1,792

7

112

7

7

8

2,147,483,648

8

134,217,728

8

8,388,608

8

524,288

8

32,768

8

2,048

8

128

8

8

9

2,415,929,104

9

150,994,994

9

9,437,184

9

589,824

9

36,864

9

2,304

9

144

9

9

A

2,684,354,560

A

167,772,160

A

10,485,760

A

655,360

A

40,960

A

2,560

A

160

A

10

B

2,952,790,016

B

184,549,376

B

11,534,336

B

720,896

B

45,056

B

2,816

B

176

B

11

C

3,221,225,472

C

201,326,592

C

12,582,912

C

786,432

C

49,152

C

3,072

C

192

C

12

D

3,489,660,928

D

218,103,808

D

12,631,488

D

851,968

D

53,248

D

3,328

D

208

D

13

E

3,758,096,384

E

234,881,024

E

14,680,064

E

917,504

E

57,344

E

3,584

E

224

E

14

F

4,026,531,840

F

251,685,240

F

15,728,640

F

983,040

F

61,440

F

3,840

F

240

F

15

ТИПЫ ДАННЫХ

Байт

7

 

 

 

 

 

 

0

 

 

 

:A

 

Слово

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

Длинное слово

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

Квадраслово

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

:А + 4

63

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

32

 

 

Октаслово

31

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 0

 

 

: А

 

:А + 4

 

:А + 8

 

:А+ 12

127

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

96

 

 

Формат типа F числа с плавающей точкой

15

14

 

 

 

 

 

 

7

6

 

 

 

 

 

0

 

З
н
а
к

Порядок

Мантисса

Мантисса

:А + 2

 

Формат типа D числа с плавающей точкой

15

14

 

 

 

 

 

 

7

6

 

 

 

 

 

0

 

З
н
а
к

Порядок

Мантисса

Мантисса

:А + 2

Мантисса

:А + 4

Мантисса

:А + 6

 

Формат типа G числа с плавающей точкой

15

14

 

 

 

 

 

 

 

 

 

4

3

 

 

0

 

З
н
а
к

Порядок

Мантисса

Мантисса

:А + 2

Мантисса

:А + 4

Мантисса

:А + 6

 

Формат типа Н числа с плавающей точкой

15

14

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

З
н
а
к

Порядок

Мантисса

:А + 2

Мантисса

:А + 4

Мантисса

:А + 6

Мантисса

:А + 8

Мантисса

:А + 10

Мантисса

:А + 12

Мантисса

:А + 14

БИТОВОЕ ПОЛЕ ПЕРЕМЕННОЙ ДЛИНЫ

31

 

 

Р

Р - 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

/////////

 

 

///////////

:А + 4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Р + S

Р + S - 1

 

Р - начальная позиция битового поля
S - длина поля

 

СИМВОЛЬНАЯ СТРОКА

7

 

 

 

 

 

 

0

 

 

.

 

.

 

.

 

 

:А + L - 1

7

 

 

 

 

 

 

0

 

ЧИСЛОВЫЕ СТРОКИ С ВЕДОМЫМ ЗНАКОМ

ПРЕДСТАВЛЕНИЕ МЛАДШИХ ЗНАЧАЩИХ ЦИФР ЧИСЛА И ЗНАКА

Зонный формат 1

Зонный формат 2

 

 

 

Символы
кода ASCII

 

 

Символы кода ASCII

Цифра

Десятичный код

Шестнадца-
теричный код

Десятичный код

Шестнадца-
теричный код

Нормальное представление

Альтернативное представление

0

48

30

0

123

7B

{

0[?

1

49

31

1

65

41

А

1

2

50

32

2

66

42

В

2

3

51

33

3

67

43

С

3

4

52

34

4

68

44

D

4

5

53

35

5

69

45

Е

5

6

54

36

6

70

46

F

6

7

55

37

7

71

47

G

7

8

56

38

8

72

48

Н

8

9

57

39

9

73

49

I

9

-0

112

70

p

125

7D

}

]!:

-1

113

71

q

74

J

 

-2

114

72

r

75

4B

К

 

-3

115

73

s

76

L

 

-4

116

74

t

77

4D

М

 

-5

117

75

u

78

N

 

-6

118

76

v

79

4F

О

 

-7

119

77

w

80

50

Р

 

-8

120

78

x

81

51

Q

 

-9

121

79

y

82

52

R

 

Представление числовой строки с раздельным ведущем знаком

Знак

Десятичный
код

Шестнадцатеричный
код

Символы
кода ASCII

+

43

+

+

32

20

<пробел>

-

45

2D

 

Лучше всего для представления знака + применять символ кода ASCII +

ФОРМАТ УПАКОВАННОГО ДЕСЯТИЧНОГО ЧИСЛА

7

 

 

4

3

 

 

0

 

Старшая
цифра

 

 

 

 

.

 

.

 

.

 

Младшая
цифра

Знак

:А + L/2

ПРЕДСТАВЛЕНИЕ ЗНАКА УПАКОВАННОГО ДЕСЯТИЧНОГО ЧИСЛА (В ПОЛУБАЙТЕ)

Знак

Десятичный
код

Шестнадцатеричный
код

+

10, 12, 14 или 15

А, С, Е или F

-

11 или 13

В или D

Для представления знака + лучше всего использовать код 12, для знака - используется код 13

ПРИМЕРЫ ОБОЗНАЧЕНИЯ РЕЖИМОВ АДРЕСАЦИИ

S^#5

явно заданный режим литеральной адресации

#5

литеральный режим (будет выбран ассемблером при оптимизации)

R10

регистровый режим адресации

(R10)

регистровая косвенная адресация

-(R10)

режим адресации с автоуменьшением

(R10)+

режим адресации с автоувеличением

#START

режим непосредственной адресации

I^#1

явно заданный режим непосредственной адресации

@(R10)+

косвенная адресация с автоувеличением

@#START

абсолютная адресация

1(R10)

адресация со смещением заданным в формате байта (формат - байт, выбирается ассемблером при оптимизации)

0(R10)

регистровая косвенная адресация (будет выбрана при оптимизации)

@1(R10)

косвенная со смещением заданным в формате байта (формат - байт, выбирается ассемблером при оптимизации)

@(R10)

косвенная со смещением (предполагается, что для смещения ассемблер выберет формат байта)

START

относительный режим адресации (формат смещения относительно PC будет выбран ассемблером)

@START

относительный косвенный режим адресации (формат смещения относительно PC будет выбран ассемблером)

1234(R10)

адресация со смещением заданным в формате слова (этот формат будет выбран ассемблером при оптимизации)

@1234(R10)

косвенная со смещением заданным в формате слова (формат - слово, будет выбран ассемблером при оптимизации)

12345678(R10)

адресация со смещением заданным в формате длинного слова (данный формат будет выбран ассемблером при оптимизации)

@12345678(R10)

косвенная со смещением заданным в формате длинного слова (данный формат будет выбран ассемблером при оптимизации)

B^12(R10)

явно заданный режим адресации со смещением (формат смещения - байт)

B^START

явно заданный режим относительной адресации (формат смещения относительно PC - байт)

@B^12(R10)

явно заданный режим косвенной адресации со смещением (формат смещения - байт)

@B^START

явно заданный режим относительной косвенной адресации (формат смещения относительно PC - байт)

W^12(R10)

явно заданный режим адресации со смещением (формат смещения - слово)

W^START

явно заданный режим относительной адресации (формат смещения относительно PC - слово)

@W^12(R10)

явно заданный режим косвенной адресации со смещением (формат смещения - слово)

@W^START

явно заданный режим относительной косвенной адресации (формат смещения относительно PC - слово)

L^12(R10)

явно заданный режим адресации со смещением (формат смещения - длинное слово)

L^START

явно заданный режим относительной адресации (формат смещения относительно PC - длинное слово)

@L^12(R10)

явно заданный режим косвенной адресации со смещением (формат смещения - длинное слово)

@L^START

явно заданный режим относительной косвенной адресации (формат смещения относительно PC - длинное слово)

(R10)[R11]

регистровая косвенная адресация с индексированием

-(R10)[R11]

режим адресации с автоуменьшением и индексированием

(R10)+[R11]

режим адресации с автоувеличением и индексированием

@(R10)+[R11]

косвенная адресация с автоувеличением и индексированием

@#START[R11]

абсолютная адресация с индексированием

1(R10)[R11]

адресация со смещением заданным в формате байта и индексированием (формат - байт, выбирается ассемблером)

0(R10)[R11]

регистровая косвенная адресация с индексированием (будет выбрана при оптимизации)

@1(R10)[R11]

косвенная со смещением заданным в формате байта и индексированием (формат - байт, выбирается ассемблером)

@(R10)[R11]

косвенная со смещением и индексированием (предполагается, что для смещения ассемблер выберет формат байта)

1234(R10)[R11]

адресация со смещением заданным в формате слова и индексированием (формат - слово, выбирается ассемблером)

@1234(R10)[R11]

косвенная со смещением заданным в формате слова и индексированием (формат - слово, выбирается ассемблером)

12345678(R10)[R11]

адресация со смещением заданным в формате длинного слова и индексированием (формат выбирается ассемблером)

@12345678(R10)[R11]

косвенная со смещением заданным в формате длинного слова и индексированием (формат выбирается ассемблером)

START[R11]

относительный режим адресации с индексированием (формат смещения относительно PC будет выбран ассемблером)

@START[R11]

относительный косвенный режим адресации с индексированием (формат смещения относительно PC будет выбран ассемблером)

B^12(R10)[R11]

явно заданный режим адресации со смещением и индексированием (формат смещения - байт)

B^START[R11]

явно заданный режим относительной адресации с индексированием (формат смещения относительно PC - байт)

@B^12(R10)[R11]

явно заданный режим косвенной адресации со смещением и индексированием (формат смещения - байт)

@B^START[R11]

явно заданный режим относительной косвенной адресации с индексированием (формат смещения относительно PC - байт)

W^12(R10)[R11]

явно заданный режим адресации со смещением и индексированием (формат смещения - слово)

W^START[R11]

явно заданный режим относительной адресации с индексированием (формат смещения относительно PC - слово)

@W^12(R10)[R11]

явно заданный режим косвенной адресации со смещением и индексированием (формат смещения - слово)

@W^START[R11]

явно заданный режим относительной косвенной адресации с индексированием (формат смещения относительно PC - слово)

L^12(R10)[R11]

явно заданный режим адресации со смещением и индексированием (формат смещения - длинное слово)

L^START[R11]

явно заданный режим относительной адресации с ин (формат смещения относительно PC - длинное слово)

@L^12(R10)[R11]

явно заданный режим косвенной адресации со смещением и индексированием (формат смещения – длинное слово)

@L^START[ R11]

явно заданный режим относительной косвенной адресации с индексированием (формат смещения относительно PC - длинное слово)

СЛОВО СОСТОЯНИЯ ПРОЦЕССОРА

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Слово состояния процессора Уровень приоритета прерывания Предшествующий режим доступа Текущий режим доступа Работа со стеком прерываний Признак завершения первой части цикла выполнения инструкций Задержка трассировки Режим совместимости

 

15 14 13 12 11 10 09 08 07 06 05 04 03 02 01 00 Не используется Разрешение прерывания по переполнению десятичного числа Разрешение прерывания по потере значимости числа с плавающей точкой IV - Разрешение прерывания по переполнению целого числа Разрешение трассировки Бит N Бит Z Бит V Бит C

ТАБЛИЦА СТЕПЕНЕЙ ЧИСЕЛ 2 И 16

Степени числа 2

 

Степени числа 16

 

2n

n

16n

n

256

8

 

 

512

9

1

0

1024

10

16

1

2048

11

256

2

4096

12

4096

3

8192

13

65536

4

16384

14

1048576

5

32768

15

16777216

6

65536

16

268435456

7

131072

17

4294967296

8

262144

18

68719476736

9

524288

19

1099511627776

10

1048576

20

17592186044416

11

2097152

21

281474976710656

12

4194304

22

4503599627370496

13

8388608

23

72057594037927936

14

16777216

24

1152921504606846976

15

Формат блока вызова

Адрес процедуры обработки условий или 0

:(FP)

SPA

S

0

Маска <11:0>

Сохран. регистр PSW < 14:5>

0

 

Сохранённый регистр AP

 

Сохранённый регистр FP

 

Сохранённый регистр PC

 

Сохранённый регистр R0

 

.
.
.

  .
.
.

 

Сохранённый регистр R11

 

SPA задаёт число байтов (от 1 до 3), необходимых для выравнивания
границы стека
S - устанавливается для CALLS; сбрасывается для CALLG

 

Формат списка аргументов

Первый байт списка является счётчиком числа аргументов (число без знака). Старшие 24 бита первого длинного слова зарезервированы для будущего использования и должны содержать 0.

0

N

: (AP)

 

.

Список аргументов

.

 

 

.

(N длинных слов)

.

 

 

.

 

.

 

 

< НАЗАД ОГЛАВЛЕНИЕ ВПЕРЁД >