Программная модель 32-разрядного микропроцессора фирмы Motorola

         

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


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

Разрядность

Операции

Адресация

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 - Изменение признаков после выполнения команд


Команды
X
N
Z
V
C
Примечание
ABCD, SBCD, NBCD
+
?
*
?
+
X=С - десятичный перенос
ADD, ADDI, ADDQ, SUB, SUBI, SUBQ, NEG
+
+
+
+
+
X=С - десятичный перенос
ADDX, SUBX, NEGX
+
+
*
+
+
X=С - десятичный перенос
MULS, MULU, DIVS, DIVU
-
+
+
+
0
MOVE, MOVEQ, AND, ANDI,
OR, ORI, EOR, EORI, NOT, CLR,
EXT, TAS, TST
-
+
+
0
0
CMP, CMPI, CMPM
-
+
+
+
+
CMP2
-
?
+
?
+
BTST, BSET, BCLR, BCHG
-
-
+
-
-
Z = bn (инверсия)
ASL, ASR
+
+
-
+
+
V = 1 при изменении знака
LSL, LSR
+
+
+
0
+
ROL, ROR
-
+
+
0
+
ROXL, ROXR
+
+
+
0
+
CHK
+
+
+
+
+
MOVE, ANDI, ORI, EORI to CCR или SR
+
+
+
+
+
 
В общем виде запись типовой двухадресной команды на языке ассемблера имеет следующий вид:
COP.x    <src>,  <dst>

Содержание раздела