А. Ю. Каргашина и А. С. Миркотан под редакцией > Ю. М. Баяковского

Вид материалаКнига

Содержание


Система команд PDP-11
Исключающее или
Подобный материал:
1   ...   19   20   21   22   23   24   25   26   27

Система команд PDP-11


DD = 6-разрядный код приемника, SS = 6-разряднын код источника, R = 3-разрядный код регистра, X = 0 для команд, занимающих слово, X=1 для байтовых команд

Мнемоника

Код

Описание

Изменение разрядов условий

ОДНОАДPЕСНЫЕ

CLR (B)

X050DD

Сбрасывает признак

N, V, C = 0; Z=1

DEC (B)

X053DD

Вычитает 1 из признака

N, Z, V = 0/1 по результату

INC (B)

X052DD

Прибавляет 1 к признаку

N, Z, V = 0/1 по результату

NEG(B)

X054DD

Меняет знак признака

N, Z, V = 0/1 по результату

C = 0, если результат 0, иначе C = 1

TST (B)

X057DD

Устанавливает разряды условий

N, Z = 1/0 по содержимому признака V, C = 0

COM (B)

X051DD

Образует дополнение к признаку

N, Z = 1/0 по результату, V = 0, C = 1

ASR (B)

X062DD

Сдвиг признака на одну позицию вправо;

старший бит дублируется

N, Z = 1/0 по результату

C ← старый младший бит признака

V ← исключающее или битов N и C

ASL (B)

X063DD

Сдвиг признака на одну позицию влево;

в младший бит помещается 0

N, Z = 1/0 по результату

C ← старый старший бит признака

V ← исключающее или битов N и C

ADC (B)

X055DD

Прибавляет бит C к признаку

1/0 по результату (для всех)

SBC (B)

X056DD

Вычитает бит C из признака

1/0 по результату (для всех)

SXT

0067DD

Все разряды признака по значению бита N

Z=1, если бит N = 0, V = 0

ROR (B)

X060DD

Циклический сдвиг признака вправо на 1 бит через бит C

N, Z = 1/0 по результату

C ← старший младший бит признака

V ← исключающее или битов N и C

ROL (B)

X061DD

Циклический сдвиг признака влево на 1 бит через бит C

N, Z = 1/0 по результату

C ← старый старший бит признака

V ← исключающее или битов N и C

SWAB

0003DD

Перестановка байтов признака

N, Z = 1/0 по старому значению признака, V, C = 0

Ветвление: PC ← PC + (2  смещение). Кодируется: код + смещение. Разряды условий не меняются.

Мнемоника

Код

Условие

Мнемоника

Код

Условие

ВЕТВЛЕНИЯ

BR

000400

Всегда










BEQ

001400

Z=1

BNE

001000

Z = 0

BMI

100400

N=1

BPL

100000

N = 0

BCS

103400

C=1

BCC

103000

C = 0

BVS

102400

V=1

BVC

102000

V = 0

BLT

002400

NV=1

BGE

002000

NV=0

BLE

003400

Z(NV)=1

BGT

003000

Z  (NV)=0

BLOS

101400

CZ=1

BHI

101000

C=0 и Z=0




Мнемоника

Код

Описание

Изменение разрядов условий

ДВУХАДPЕСНЫЕ

MOV (B)

X1SSDD

Пересылает источник в признак

N, Z=1/0 по результату, V = 0

ADD

06SSDD

Складывает источник и признак

1/0 по результату (для всех)

SUB

16SSDD

Вычитает источник из признака

1/0 по результату (для всех)

CMP (B)

X2SSDD

Образует (источник — признак)

1/0 по результату (для всех)

BIS (B)

X5SSDD

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

N, Z = 1/0 по результату, V = 0

BIT(B)

X3SSDD

Образует (источник и признак)

N, Z = 1/0 по результату, V = 0

BIC (B)

X4SSDD

Помещает (~ источник и признак) в признак

N, Z=1/0 по результату, V = 0

MUL

070RSS

Умножение, результат в R и в след. peг., если R нечетный

1/0 по результату (для всех)

DIV

071RSS

Деление, результат в R и в след. peг., если R нечетный

1/0 по результату (для всех)

XOR

074RDD

Исключающее или, результат в признак

N, Z = 1/0 по результату, V = 0




Мнемоника

Код

Описание

Изменение разрядов условий

УПPАВЛЕНИЕ ПPОГPАММОЙ

JSR

004RDD

Регистр → стек, PC → регистр, признак → PC




RTS

00020R

Регистр → PC, стек → регистр




SPL

00023L

Устанавливает приоритет ЦП в L




JMP

0001DD

Признак → PC




SOB

077RXX

XX=смещение; вычитает 1 из содержимого регистра; если ≠ 0, то переход назад




EMT

104000—104377

PS, PC → стек, новое PC, PS из 30, 32

Все загружаются из 32

TRAP

104400—104777

PS, PC → стек, новое PC, PS из 34, 36

Все загружаются из 36

BPT

000003

PS, PC → стек, новое PC, PS из 14, 16

Все загружаются из 16

RTI

000002

Загружает PC, PS из стека

Все загружаются из стека

RTT

000006

PC, PS из стека, откладывает трассир. прер.

Все загружаются из стека

MFPI

0065SS

Пересылает слово из предшествующего пространства в текущий стек

N, Z = 1/0 по значению источника, V = 0

MTPI

0066DD

Пересылает слово из текущего стека в предшествующее пространство

N, Z=1/0 по результату, V = 0

ЦП

HALT

000000

Останавливает ЦП




WAIT

000001

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




RESET

000005

Инициализирует общую шину







Мнемоника

Код

Описание

Мнемоника

Код

Описание

PАЗPЯДЫ УСЛОВИЙ

CLC

000241

Сбрасывает бит C

SEC

000261

Устанавливает бит C

CLV

000242

Сбрасывает бит V

SEV

000262

Устанавливает бит V

CLZ

000244

Сбрасывает бит Z

SEZ

000264

Устанавливает бит Z

CLN

000250

Сбрасывает бит N

SEN

000270

Устанавливает бит N

CCC

000257

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

SCC

000277

Устанавливает все биты