
288
APPENDIX B INSTRUCTION SET LIST
Instruction Set (alphabetical order) (3/4)
i
r
l
CY OV S
Z
SAT
SATADD
reg1, reg2
GR[reg2]<-saturated(GR[reg2]+GR[reg1])
1
1
1
x
x
x
x
x
imm5, reg2
GR[reg2]<-saturated(GR[reg2]+sign-extend(imm5))
1
1
1
x
x
x
x
x
SATSUB
reg1, reg2
GR[reg2]<-saturated(GR[reg2]–GR[reg1])
1
1
1
x
x
x
x
x
SATSUBI
imm16, reg1, reg2
GR[reg2]<-saturated(GR[reg1]–sign-extend(imm16))
1
1
1
x
x
x
x
x
SATSUBR reg1, reg2
GR[reg2]<-saturated(GR[reg1]–GR[reg2])
1
1
1
x
x
x
x
x
SETF
cccc, reg2
if conditions are satisfied
1
1
1
then GR[reg2]<-00000001H
else GR[reg2]<-00000000H
SET1
bit#3, disp16[reg1]
adr<-GR[reg1]+sign-extend(disp16)
4
4
4
x
Z flag<-Not(Load-memory-bit(adr, bit#3))
Store-memory-bit(adr, bit#3, 1)
SHL
reg1, reg2
GR[reg2]<-GR[reg2] logically shift left by GR[reg1]
1
1
1
x
0
x
x
imm5, reg2
GR[reg2]<-GR[reg1] logically shift left by
1
1
1
x
0
x
x
zero-extend(imm5)
SHR
reg1, reg2
GR[reg2]<-GR[reg2] logically shift right by GR[reg1]
1
1
1
x
0
x
x
imm5, reg2
GR[reg2]<-GR[reg2] logically shift right by
1
1
1
x
0
x
x
zero-extend(imm5)
SLD.B
disp7[ep], reg2
adr<-ep+zero-extend(disp7)
1
1
2
GR[reg2]<-sign-extend(Load-memory(adr, Byte))
SLD.H
disp8[ep], reg2
adr<-ep+zero-extend(disp8)
1
1
2
GR[reg2]<-sign-extend(Load-memory(adr, Halfword))
SLD.W
disp8[ep], reg2
adr<-ep+zero-extend(disp8)
1
1
2
GR[reg2]<-Load-memory(adr, Word)
SST.B
reg2, disp7[ep]
adr<-ep+zero-extend(disp7)
1
1
1
Store-memory(adr, GR[reg2], Byte)
SST.H
reg2, disp8[ep]
adr<-ep+zero-extend(disp8)
1
1
1
Store-memory(adr, GR[reg2], Halfword)
SST.W
reg2, disp8[ep]
adr<-ep+zero-extend(disp8)
1
1
1
Store-memory(adr, GR[reg2], Word)
ST.B
reg2, disp16[reg1]
adr<-GR[reg1]+sign-extend(disp16)
1
1
1
Store-memory(adr, GR[reg2], Byte)
Notes
1.
ddddddd is the higher 7 bits of disp8.
2.
dddddd is the higher 6 bits of disp8.
Operation
Operand
Op Code
r r r r r 000110RRRRR
r r r r r 010001 i i i i i
r r r r r 000101RRRRR
r r r r r 110011RRRRR
i i i i i i i i i i i i i i i i
r r r r r 000100RRRRR
r r r r r 1111110c c c c
0000000000000000
00bbb111110RRRRR
dddddddddddddddd
r r r r r 111111RRRRR
0000000011000000
r r r r r 010110 i i i i i
r r r r r 111111RRRRR
0000000010000000
r r r r r 010100 i i i i i
r r r r r 0110ddddddd
r r r r r 1000ddddddd
Note 1
r r r r r 1010dddddd0
Note 2
r r r r r 0111ddddddd
r r r r r 1001ddddddd
Note 1
r r r r r 1010dddddd1
Note 2
r r r r r 111010RRRRR
dddddddddddddddd
Flag
Mnemonic
Execution
Clock