APPENDIX B INSTRUCTION SET LIST
User’s Manual U13850EJ4V0UM
506
Instruction Set List (3/4)
Flag
Instruction
Group
Mnemonic
Operand
Op Code
Operation
CY OV S
Z SAT
XOR
reg1, reg2
rrrrr001001RRRRR
GR [reg2]
←
GR [reg2] XOR GR [reg1]
0
×
×
XORI
imm16,
reg1, reg2
rrrrr110101RRRRR
iiiiiiiiiiiiiiii
GR [reg2]
←
GR [reg1] XOR zero-extend
(imm16)
0
×
×
NOT
reg1, reg2
rrrrr000001RRRRR
GR [reg2]
←
NOT (GR [reg1])
0
×
×
SHL
reg1, reg2
rrrrr111111RRRRR
0000000011000000
GR [reg2]
←
GR [reg2] logically shift left by
GR [reg1])
×
0
×
×
SHL
imm5, reg2 rrrrr010110iiiii
GR [reg2]
←
GR [reg2] logically shift left
by zero-extend (imm5)
×
0
×
×
SHR
reg1, reg2
rrrrr1111111cccc
0000000010000000
GR [reg2]
←
GR [reg2] logically shift right
by GR [reg1]
×
0
×
×
SHR
imm5, reg2 rrrrr010100iiiii
GR [reg2]
←
GR [reg2] logically shift right
by zero-extend (imm5)
×
0
×
×
SAR
reg1, reg2
rrrrr111111RRRRR
0000000010100000
GR [reg2]
←
GR [reg2] arithmetically shift
right by GR [reg1]
×
0
×
×
Logic
operation
SAR
imm5, reg2 rrrrr010101iiiii
GR [reg2]
←
GR [reg2] arithmetically shift
right by zero-extend (imm5)
×
0
×
×
JMP
[reg1]
00000000011RRRRR PC
←
GR [reg1]
JR
disp22
0000011110dddddd
ddddddddddddddd0
(
Note 1
)
PC
←
PC + sign-extend (disp22)
JARL
disp22,
reg2
rrrrr11110dddddd
ddddddddddddddd0
(
Note 1
)
GR [reg2]
←
PC + 4
PC
←
PC + sign-extend (disp22)
Jump
Bcond
disp9
ddddd1011dddcccc
(
Note 2
)
if conditions are satisfied
then PC
←
PC + sign-extend (disp9)
SET1
bit#3,
disp16
[reg1]
00bbb111110RRRRR
dddddddddddddddd
adr
←
GR [reg1] + sign-extend (disp16)
Z flag
←
Not (Load-memory-bit
(adr, bit#3)
Store memory-bit (adr, bit#3, 1)
×
CLR1
bit#3,
disp16
[reg1]
10bbb111110RRRRR
dddddddddddddddd
adr
←
GR [reg1] + sign-extend (disp16)
Z flag
←
Not (Load-memory-bit
(adr, bit#3))
Store memory-bit (adr, bit#3, 0)
×
NOT1
bit#3,
disp16
[reg1]
01bbb111110RRRRR
dddddddddddddddd
adr
←
GR [reg1] + sign-extend (disp16)
Z flag
←
Not (Load-memory-bit
(adr, bit#3))
Store-memory-bit (adr, bit#3, Z flag)
×
Bit
manipulate
TST1
bit#3,
disp16
[reg1]
11bbb111110RRRRR
dddddddddddddddd
adr
←
GR [reg1] + sign-extend (disp16)
Z flag
←
Not (Load-memory-bit (adr, bit#3))
×
Notes 1.
ddddddddddddddddddddd is the higher 21 bits of dip22.
2.
dddddddd is the higher 8 bits of disp9.