APPENDIX B INSTRUCTION SET LIST
User’s Manual U14359EJ4V0UM
556
(3/6)
Execution
Clock
Flags
Mnemonic
Operand
Opcode
Operation
i
r
l
CY OV
S
Z SAT
LD.H
disp16[reg1], reg2
rrr rr 111 00 1RRRRR
ddddddddddddddd0
Note 8
adr
←
GR[reg1]+sign-extend (disp16)
GR[reg2]
←
sign-extend (Load-memory (adr,
Halfword))
1
1
Note
11
Other than regID = PSW
1
1
1
LDSR
reg2, regID
rrrrr111111RRRRR
0000000000100000
Note 12
SR[regID]
←
GR[reg2]
regID = PSW
1
1
1
×
×
×
×
×
LD.HU
disp16[reg1], reg2
rrrrr111111RRRRR
ddddddddddddddd1
Note 8
adr
←
GR[reg1]+sign-extend (disp16)
GR[reg2]
←
zero-extend (Load-memory (adr,
Halfword)
1
1
Note
11
LD.W
disp16[reg1], reg2
rrrrr111001RRRRR
ddddddddddddddd1
Note 8
adr
←
GR[reg1]+sign-extend (disp16)
GR[reg2]
←
Load-memory (adr, Word)
1
1
Note
11
reg1, reg2
r r r r r 0 0 0 0 0 0 R R R R R
GR[reg2]
←
GR[reg1]
1
1
1
imm5, reg2
r r r r r 0 1 0 0 0 0 i i i i i
GR[reg2]
←
sign-extend (imm5)
1
1
1
MOV
imm32, reg1
00000110001RRRRR
i i i i i i i i i i i i i i i i
i i i i i i i i i i i i i i i i
GR[reg1]
←
imm32
2
2
2
MOVEA
imm16, reg1, reg2
r r r r r 1 1 0 0 0 1 R R R R R
i i i i i i i i i i i i i i i i
GR[reg2]
←
GR[reg1]+sign-extend (imm16)
1
1
1
MOVHI
imm16, reg1, reg2
r r r r r 1 1 0 0 1 0 R R R R R
i i i i i i i i i i i i i i i i
GR[reg2]
←
GR[reg1]+(imm16 ll 0
16
)
1
1
1
reg1, reg2, reg3
r r r r r 1 1 1 1 1 1 R R R R R
wwwww01000100000
GR[reg3] ll GR[reg2]
←
GR[reg2]
×
GR[reg1]
1
2
Note 14
2
MUL
imm9, reg2, reg3
r r r r r 1 1 1 1 1 1 i i i i i
w w w w w 0 1 0 0 1 I I I I 0 0
Note 13
GR[reg3] ll GR[reg2]
←
GR[reg2]
×
sign-extend (imm9)
1
2
Note 14
2
reg1, reg2
r r r r r 0 0 0 1 1 1 R R R R R
GR[reg2]
←
GR[reg2]
Note 6
×
GR[reg1]
Note 6
1
1
2
MULH
imm5, reg2
r r r r r 0 1 0 1 1 1 i i i i i
GR[reg2]
←
GR[reg2]
Note 6
×
sign-extend (imm5)
1
1
2
MULHI
imm16, reg1, reg2
r r r r r 1 1 0 1 1 1 R R R R R
i i i i i i i i i i i i i i i i
GR[reg2]
←
GR[reg1]
Note 6
×
imm16
1
1
2
reg1, reg2, reg3
r r r r r 1 1 1 1 1 1 R R R R R
wwwww01000100010
GR[reg3] ll GR[reg2]
←
GR[reg2]
×
GR[reg1]
1
2
Note 14
2
MULU
imm9, reg2, reg3
r r r r r 1 1 1 1 1 1 i i i i i
w w w w w 0 1 0 0 1 I I I I 1 0
Note 13
GR[reg3] ll GR[reg2]
←
GR[reg2]
×
zero-extend (imm9)
1
2
Note 14
2
NOP
000 00 000 00 00 00 00
Pass at least one clock cycle doing nothing.
1
1
1
NOT
reg1, reg2
r r r r r 0 0 0 0 0 1 R R R R R
GR[reg2]
←
NOT (GR[reg1])
1
1
1
0
×
×
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)
3
Note 3
3
Note 3
3
Note 3
×
NOT1
reg2, [reg1]
r r r r r 1 1 1 1 1 1 R R R R R
0000000011100010
adr
←
GR[reg1]
Z flag
←
Not (Load-memory-bit (adr, reg2))
Store-memory-bit (adr, reg2, Z flag)
3
Note 3
3
Note 3
3
Note 3
×