
286
APPENDIX B INSTRUCTION SET LIST
Instruction Set (alphabetical order) (1/4)
i
r
l
CY OV S
Z
SAT
ADD
reg1, reg2
GR[reg2]<-GR[reg2]+GR[reg1]
1
1
1
x
x
x
x
imm5, reg2
GR[reg2]<-GR[reg2]+sign-extend(imm5)
1
1
1
x
x
x
x
ADDI
imm16, reg1, reg2
GR[reg2]<-GR[reg1]+sign-extend(imm16)
1
1
1
x
x
x
x
AND
reg1, reg2
GR[reg2]<-GR[reg2]AND GR[reg1]
1
1
1
0
x
x
ANDI
imm16, reg1, reg2
GR[reg2]<-GR[reg1]AND zero-extend(imm16)
1
1
1
0
0
x
Bcond
disp9
if conditions are satisfied
3
3
3
then PC<-PC+sign-extned(disp9)
1
1
1
CLR1
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.0)
CMP
reg1, reg2
result<-GR[reg2]–GR[reg1]
1
1
1
x
x
x
x
imm5, reg2
result<-GR[reg2]–sign-extend(imm5)
1
1
1
x
x
x
x
DI
PSW.ID<-1
1
1
1
(Maskable interrupt disabled)
DIVH
reg1, reg2
GR [reg2]<-GR [reg2]÷GR [reg1]
Note 2
36 36 36
x
x
x
(signed division)
EI
PSW.ID<-0
1
1
1
(Maskable interrupt enabled)
HALT
Stops
1
1
1
JARL
disp22, reg2
GR[reg2]<-PC+4
3
3
3
PC<-PC+sign-extend(disp22)
JMP
[reg1]
PC<-GR[reg1]
3
3
3
JR
disp22
PC<-PC+sign-extend(disp22)
3
3
3
LD.B
disp16[reg1], reg2
adr<-GR[reg1]+sign-extend(disp16)
1
1
2
GR[reg2]<-sign-extend(Load-memory(adr, Byte))
LD.H
disp16[reg1], reg2
adr<-GR[reg1]+sign-extend(disp16)
1
1
2
GR[reg2]sign-extend(Load-memory(adr, Halfword))
LD.W
disp16[reg1], reg2
adr<-GR[reg1]+sign-extend(disp16)
1
1
2
GR[reg2]<-Load-memory(adr, Word)
Notes
1.
dddddddd is the higher 8 bits of disp9.
2.
Only the lower half-word is valid.
3.
ddddddddddddddddddddd is the higher 21 bits of disp22.
4.
ddddddddddddddd is the higher 15 bits of disp16.
Operation
Mnemonic
Operand
Op Code
When condition
satisfied
When condition
not satisfied
10bbb111110RRRRR
dddddddddddddddd
r r r r r 001111RRRRR
r r r r r 010011 i i i i i
0000011111100000
0000000101100000
r r r r r 000010RRRRR
1000011111100000
0000000101100000
0000011111100000
0000000100100000
r r r r r 11110dddddd
ddddddddddddddd0
Note 3
00000000011RRRRR
0000011110dddddd
ddddddddddddddd0
Note 3
r r r r r 111000RRRRR
dddddddddddddddd
r r r r r 111001RRRRR
ddddddddddddddd0
Note 4
r r r r r 111001RRRRR
ddddddddddddddd1
Note 4
r r r r r 001110RRRRR
r r r r r 010010 i i i i i
r r r r r 110000RRRRR
i i i i i i i i i i i i i i i i
r r r r r 001010RRRRR
r r r r r 110110RRRRR
i i i i i i i i i i i i i i i i
Execution
Clock
Flag
ddddd1011dddc c c c
Note 1