
MOTOROLA
M68040 USER’S MANUAL
1-15
Table 1-4. Instruction Set Summary (Continued)
Opcode
Operation
Syntax
BTST
–(bit number of Destination)
Z;
BTST Dn,<ea>
BTST #<data>,<ea>
CAS
CAS Destination – Compare Operand
cc;
if Z, Update Operand
Destination
else Destination
Compare Operand
CAS Dc,Du,<ea>
CAS2
CAS2 Destination 1 – Compare 1
cc;
if Z, Destination 2 – Compare
cc;
if Z, Update 1
Destination 1;
Update 2
Destination 2
else Destination 1
Compare 1;
Destination 2
Compare 2
CAS2 Dc1–Dc2,Du1–Du2,(Rn1)–(Rn2)
CHK
If Dn < 0 or Dn > Source
then TRAP
CHK <ea>,Dn
CHK2
If Rn < LB or If Rn > UB
then TRAP
CHK2 <ea>,Rn
CINV
If supervisor state
then invalidate selected cache lines
else TRAP
CINVL <caches>, (An)
CINVP <caches>, (An)
CINVA <caches>
CLR
0
Destination
CLR <ea>
CMP
Destination – Source
cc
CMP <ea>,Dn
CMPA
Destination – Source
CMPA <ea>,An
CMPI
Destination – Immediate Data
CMPI #<data>,<ea>
CMPM
Destination – Source
cc
CMPM (Ay)+,(Ax)+
CMP2
Compare Rn < LB or Rn > UB
and Set Condition Codes
CMP2 <ea>,Rn
CPUSH
If supervisor state
then if data cache push selected dirty data
cache lines; invalidate selected cache lines
else TRAP
CPUSHL <caches>, (An)
CPUSHP <caches>, (An)
CPUSHA <caches>
DBcc
If condition false
then (Dn–1
Dn;
If Dn
≠
–1
then PC + dn
PC)
Destination
÷
Source
Destination
DBcc Dn,<label>
DIVS, DIVSL
DIVS.W <ea>,Dn
DIVS.L <ea>,Dq
DIVS.L <ea>,Dr:Dq
DIVSL.L <ea>,Dr:Dq
32
÷
16
16r:16q
32
÷
32
32q
64
÷
32
32r:32q
32
÷
32
32r:32q
32
÷
16
16r:16q
32
÷
32
32q
64
÷
32
32r:32q
32
÷
32
32r:32q
DIVU, DIVUL
Destination
÷
Source
Destination
DIVU.W <ea>,Dn
DIVU.L <ea>,Dq
DIVU.L <ea>,Dr:Dq
DIVUL.L <ea>,Dr:Dq
EOR
Source
⊕
Destination
Destination
Immediate Data
⊕
Destination
Destination
Source
⊕
CCR
CCR
EOR Dn,<ea>
EORI
EORI #<data>,<ea>
EORI to CCR
EORI #<data>,CCR
EORI to SR
If supervisor state
then Source
⊕
SR
SR
else TRAP
EORI #<data>,SR