APPENDIX C INSTRUCTION SET LIST
678
User’s Manual U15195EJ5V0UD
C.2 Instruction Set (Alphabetical Order)
(1/5)
Execution Clock
Flags
Mnemonic Operands
Opcode
Operation
i r I
CY
OV
S Z
SAT
reg1, reg2
r r r r r 0 0 1 1 1 0 R R R R R
GR[reg2]
←
GR[reg2] + GR[reg1]
1
1
1
×
×
×
×
ADD
imm5, reg2
r r r r r 0 1 0 0 1 0 i i i i i
GR[reg2]
←
GR[reg2] + sign-extend (imm5)
1
1
1
×
×
×
×
imm16,
r r r r r 1 1 0 0 0 0 R R R R R
GR[reg2]
←
GR[reg1] + sign-extend (imm16)
ADDI
reg1, reg2
i i i i i i i i i i i i i i i i
1 1 1
×
×
×
×
AND reg1,
reg2
r r r r r 0 0 1 0 1 0 R R R R R
GR[reg2]
←
GR[reg2] AND GR[reg1]
1
1
1
0
×
×
r r r r r 1 1 0 1 1 0 R R R R R
1 1 1 0 0
×
ANDI imm16,
reg1,
reg2
i i i i i i i i i i i i i i i i
GR[reg2]
←
GR[reg1] AND zero-extend (imm 16)
d d d d d 1 0 1 1 d d d c c c c
Conditions satisfied
3
Note 2
3
Note 2
3
Note 2
Bcond disp9
if conditions are satisfied
then PC
←
PC + sign extend
(disp9)
Conditions not
satisfied
1
1
1
r r r r r 1 1 1 1 1 1 0 0 0 0 0
1 1 1
×
0
×
×
BSH reg2,
reg3
w w w w w 0 1 1 0 1 0 0 0 0 1 0
GR[reg3]
←
GR[reg2] (23:16) || GR[reg2] (31:24)||GR
[reg2] (7:0)||GR[reg2] (15:8)
r r r r r 1 1 1 1 1 1 0 0 0 0 0
1 1 1
×
0
×
×
BSW reg2,
reg3
w w w w w 0 1 1 0 1 0 0 0 0 0 0
GR[reg3]
←
GR[reg2] (7:0) || GR[reg2] (15:8)||GR
[reg2] (23:16)||GR[reg2] (31:24)
CALLT imm6
0 0 0 0 0 0 1 0 0 0 i i i i i i
CTPC
←
PC + 2 (return PC)
CTPSW
←
PSW
adr
←
CTBP + zero-extend (imm6 logically shift left by 1)
PC
←
CTBP + zero-extend (Load-memory (adr,
Halfword)
5
5
5
1 0 b b b 1 1 1 1 1 0 R R R R R
bit#3,
disp16[reg1]
d d d d d d d d d d d d d d d d
adr
←
GR[reg1] + sign-extend (disp 16)
Z flag
←
Not (Load-memory-bit (adr, bit#3))
Store-memory-bit (adr, bit#3, 0)
3
Note 3
3
Note 3
3
Note 3
×
1 0 b b b 1 1 1 1 1 0 R R R R R
CLR1
reg2, [reg1]
d d d d d d d d d d d d d d d d
adr
←
GR[reg1]
Z flag
←
Not (Load-memory-bit (adr, reg2))
Store-memory-bit (adr, reg2, 0)
3
Note 3
3
Note 3
3
Note 3
×
r r r r r 1 1 1 1 1 1 i i i i i
cccc, imm5,
reg2, reg3
w w w w w 0 1 1 0 0 0 c c c c 0
if conditions are satisfied
then GR[reg3]
←
sign-extend (imm5)
else GR[reg3]
←
GR[reg2]
1
1
1
r r r r r 1 1 1 1 1 1 R R R R R
CMOV
cccc, reg1,
reg2, reg3
w w w w w 0 1 1 0 0 1 c c c c 0
if conditions are satisfied
then GR[reg3]
←
GR[reg1]
else GR[reg3]
←
GR[reg2]
1
1
1
reg1, reg2
r r r r r 0 0 1 1 1 1 R R R R R
result
←
GR[reg2]
−
GR[reg1]
1
1
1
×
×
×
×
CMP
imm5, reg2
r r r r r 0 1 0 0 1 1 i i i i i
result
←
GR[reg2]
−
sign-extend (imm5)
1
1
1
×
×
×
×
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0
CTRET
0 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0
PC
←
CTPC
PSW
←
CTPSW
4 4 4 R R R R R
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0
DBRET
0 0 0 0 0 0 0 1 0 1 0 0 0 1 1 0
PC
←
DBPC
PSW
←
DBPSW
4 4 4 R R R R R
DBTRAP
1 1 1 1 1 0 0 0 0 1 0 0 0 0 0 0
DBPC
←
PC + 2 (return PC)
DBPSW
←
PSW
PSW.NP
←
1
PSW.EP
←
1
PSW.ID
←
1
PC
←
00000060H
4
4
4
0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0
DI
0 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0
PSW.ID
←
1
1
1
1
Note 1