Смекни!
smekni.com

Бакалаврская работа. Программная модель 32-разядной МЭВМ фирмы Motorola (стр. 3 из 6)

Командное слово

(первое слово, определяющее операцию и способ адресации)

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

(одно или два слова)

Эффективный адрес источника

(одно или два слова)

Смещение

(одно или два слова)

Рисунок 1.

Система команд CPU32

Процессор CPU32 выполняет набор из 139 команд, которые реализуют следующие группы операций:

  • операции пересылки,
  • арифметические операции,
  • логические операции,
  • операции сдвига,
  • операции сравнения и тестирования,
  • битовые операции,
  • операции управления;
  • операции условной установки байтов.

Таблица1 - Набор команд процессора CPU32

Синтаксис ассемблера

Разрядность

Операция

Адресация

ADD Dn, <EA>

B, W, L

<dst> + Dn -> <dst> 1,(3-9,13)
ADD <EA> , Dn

B, W, L

Dn+ <src> - Dn (1-14),1
ADDA <EA>, An

W, L

<dst> + An -> An (1-14),2
ADDI # Im, <EA>

B, W, L

<dst> + Im -> <dst> 12,(1,3-9,13)
ADDQ # Im, <EA>

B, W, L

<dst> + Im -> <dst> 12,(1-9,13)
ADDX Dy, Dx

B, W, L

Dx + Dy + X -> Dx 1,1
ADDX - (Ay),- (Ax)

B, W, L

<dst> + <src> + X -> <dst> 5,5
SUB Dn, <EA>

B, W, L

<dst> - Dn -> <dst> 1,(3-9,13)
SUB <EA>, Dn

B, W, L

Dn+ <src> -> <dst> (1-14),1
SUBA <EA>,An

W, L

An- <src> -> An (1-14),2
SUBI # Im, <EA>

B, W, L

<dst> - Im -> <dst> 12,(1,3-9,13)
SUBQ # Im, <EA>

B, W, L

<dst> - Im -> <dst> 12,(1-9,13)
SUBX Dy, Dx

B, W, L

Dx - Dy - X -> <dst> 1,1
SUBX - (Ay), - (Ax)

B, W, L

<dst> - <src> - X -> <dst> 5,5
NEG <EA>

B, W, L

O - <dst> -> <dst> (1,3-9,13)
NEGX <EA>

B, W, L

O - <dst> - X -> <dst> (1,3-9,13)
ABCD Dy, Dx

W

Dx + Dy + X -> Dx 1,1
ABCD - (Ay), - (Ax)

W

<dst> + <src> + X -> <dst> 5,5
SBCD Dy, Dx

W

Dx- Dy - X -> Dx 1,1
SBCD - (Ay), - (Ax)

W

<dst> - <src> - X -> <dst> 5,5
NBCD <EA>

W

O - <dst> - X -> <dst> (1,3-9,13)
MULS <EA>, Dn

W, L

Dn * <src> -> Dn (1,3-14),1
MULS.L <EA>, Dh-Dl

L

Dn * <src> -> Dn (1,3-14),1
MULU <EA>, Dn

W, L

Dn * <src> -> Dn (1,3-14),1
MULU.L <EA>, Dh-Dl

L

Dl * <src> -> Dh:Dl (1,3-14),1
DIVS <EA>, Dn

W, L

Dn / <src> -> Dn (1,3-14),1
DIVS.L <EA>, Dr:Dq

L

Dr:Dq / <src> -> Dr:Dq (1,3-14),1
DIVSL.L <EA>, Dr:Dq

L

Dq / <src> -> Dr:Dq (1,3-14),1
DIVU <EA>, Dn

W

Dn / <src> -> Dn (1,3-14),1
DIVU.L <EA>, Dr:Dq

L

Dr:Dq / <src> -> Dr:Dq (1,3-14),1
DIVUL.L <EA>, Dr:Dq

L

Dq / <src> -> Dr:Dq (1,3-14),1
CLR <EA>

B,W,L

0 -> <dst> (1,3-9,13)

Таблица2 - Команды логических операций

Синтаксис ассемблера

Разрядность

Операции

Адресация

AND <EA>, Dn

B, W, L

Dn ^ <src> -> Dn (1, 3 - 14), 1
AND Dn, <EA>

B, W, L

<dst> ^ Dn -> <dst> 1, (1,3 - 9,13)
ANDI # Im, <EA>

B, W, L

<dst> ^ Im -> <dst> 12, (1, 3 - 9,13)
ANDI # Im, CCR

W

CCR ^ Im -> CCR 12, -
ANDI # Im, SR

W

SR ^ Im -> SR 12, -
OR <EA>, Dn

B, W, L

Dn <src> -> Dn (1, 3 - 14), 1
OR Dn, <EA>

B, W, L

<dst> Dn -> <dst> 1, (1,3 - 9,13)
ORI # Im, <EA>

B, W, L

<dst> Im -> <dst> 12, (1, 3 - 9,13)
ORI # Im, CCR

W

CCR Im -> CCR 12, -
ORI # Im, SR

W

SR Im -> SR 12, -
EOR Dn, <EA>

B, W, L

<dst> + Dn -> <dst> 1, (1, 3 - 9,13)
EORI # Im, <EA>

B, W, L

dst> + Im -> <dst> 12, (1, 3 - 9,13)
EORI # Im, CCR

W

CCR + Im -> CCR 12, -
EORI # Im, SR

W

SR + Im -> SR 12, -
NOT

B, W, L

<dst> -> <dst> (1, 3 - 9.13)

Таблица3 - Команды сдвигов

Синтаксис ассемблера

Разрядность

Адресация

ASL Dx, Dv

B, W, L

1, 1
ASL # Ns, Dv

B, W, L

12, 1
ASL <EA>

W

(3 - 9,13)
ASR Dx, Dv

B, W, L

1,1
ASR # Ns, Dv

B, W, L

12,1
ASR <EA>

W

(3 - 9,13)
LSL Dx, Dv

B, W, L

1,1
LSL # Ns, Dv

B, W, L

12,1
LSL <lEA>

W

(3 - 9,13)
LSR Dx, Dv

B, W, L

1,1
LSR # Ns, Dv

B, W, L

12,1
LSR <lEA>

W

(3 - 9,13)
ROL Dx, Dv

B, W, L

1,1
ROL # Ns, Dv

B, W, L

12,1
ROL <EA>

W

(3 - 9,13)
ROR Dx, Dv

B, W, L

1,1
ROR # Ns, Dv

B, W, L

12,1
ROR <EA>

W

(3 - 9,13)
ROXL Dx, Dv

B, W, L

1,1
ROXL # Ns, Dv

B, W, L

12,1
ROXL <EA>

W

(3 - 9,13)
ROXR Dx, Dv

B, W, L

1,1
ROXR # Ns, Dv

B, W, L

12,1
ROXR <EA>

W

(3 - 9,13)

Таблица4 - Команды сравнения и тестирования.

Синтаксис ассемблера

Разрядность

Операции

Адресация

СMP <EA>, Dn

B, W, L

Dn - <src> (1 - 14), 1
СMP <EA>, An

W, L

An - <src> (1 - 14), 2
CMPI # Im, <EA>

B, W, L

<dst> - Im 12, (1, 3 - 11,13,14)
CMPM (Av) +,(Ax) +

B, W, L

<dst> - <src> 4,4
CMP2 <EA>, Rn

B, W, L

(Rn)<LB, (Rn)>UB (3,6-11,13,14), (1,2)
TST <EA>

B, W, L

<dst> - 0 (1, 3 – 9,13)
TAS <EA>

B

<dst> - 0, 1 -> b7 (1, 3 - 14)

Таблица 5 - Команды битовых операций.

Синтаксис ассемблера

Разрядность

Операции

Адресация

BTST Dn, <EA>

B, L

bn -> Z 1, (1, 3 - 14)
BTST # Nb, <EA>

B, L

bn -> Z 12, (1, 3 - 14)
BSET Dn, <EA>

B, L

bn -> Z, 1 -> bn 1, (1, 3 - 9,13,14)
BSET # Nb, <EA>

B, L

bn -> Z, 1 -> bn 12, (1, 3 - 9,13,14)
BCLR Dn, <EA>

B, L

bn -> Z, 0 -> bn 1, (1, 3 - 9,13,14)
BCLR # Nb, <EA>

B, L

bn -> Z, 0 -> bn 12, (1, 3 - 9,13,14)
BCHG Dn, <EA>

B, L

bn -> Z, bn -> bn 1, (1, 3 - 9,13,14)
BCHG # Nb, <EA>

B, L

bn -> Z, bn -> bn 12, (1, 3 - 9,13,14)

Таблица 6 - Команды управления и установки байтов.

Синтаксис ассемблера

Операции

Адресация

JMP <EA> <dst> -> PC (3, 6 - 11,13,14)
JSR <EA> SP - 4 -> SP, PC -> (SP), <dst> -> PC (3, 6 - 11,13,14)
RTS (SP) -> PC, SP + 4 -> SP
RTR (SP) -> CCR, SP + Z -> SP, (SP) -> PC, SP + 4 -> SP
Scc <EA> Если (сс) выполняется, то 1 ... 1 -> <dst>,
если (сс) не выполняется, то 0 ... 0 -> <dst>
(1, 3 - 9,13,14)

Таблица 7 - Изменение признаков после выполнения команд