590
Appendix A
Instruction Set List
Preliminary User’s Manual U14913EE1V0UM00
PREPARE list12,imm5
0000011110iiiiiL
LLLLLLLLLLL00001
Store-memory(sp – 4,GR[reg in list12],Word)
sp
←
sp – 4
repeat 1 step above until all regs in list12 are stored
sp
←
sp – zero-extend(imm5)
n+1
Note
4
n+1
Note
4
n+1
Note
4
list12,imm5,
sp/imm
Note 15
0000011110iiiiiL
LLLLLLLLLLLff011
imm16/imm32
Note 16
Store-memory(sp – 4,GR[reg in list12],Word)
sp
←
sp – 4
repeat 1 step above until all regs in list12 are stored
sp
←
sp – zero-extend(imm5)
ep
←
sp/imm
n+2
Note
4
Note
17
n+2
Note
4
Note
17
n+2
Note
4
Note
17
RETI
0000011111100000
0000000101000000
if PSW.EP=1
then PC
←
EIPC
PSW
←
EIPSW
else if PSW.NP=1
then PC
←
FEPC
PSW
←
FEPSW
else PC
←
EIPC
PSW
←
EIPSW
3
3
3
R
R
R
R
R
SAR
reg1,reg2
rrrrr111111RRRRR
0000000010100000
GR[reg2]
←
GR[reg2] arithmetically shift right
by GR[reg1]
1
1
1
×
0
×
×
imm5,reg2
rrrrr010101iiiii
GR[reg2]
←
GR[reg2] arithmetically shift right
by zero-extend (imm5)
1
1
1
×
0
×
×
SASF
cccc,reg2
rrrrr1111110cccc
0000001000000000
if conditions are satisfied
then GR[reg2]
←
(GR[reg2]Logically shift left by 1)
OR 00000001H
else GR[reg2]
←
(GR[reg2]Logically shift left by 1)
OR 00000000H
1
1
1
SATADD
reg1,reg2
rrrrr000110RRRRR
GR[reg2]
←
saturated(GR[reg2]+GR[reg1])
1
1
1
×
×
×
×
×
imm5,reg2
rrrrr010001iiiii
GR[reg2]
←
saturated(GR[reg2]+sign-extend(imm5)
1
1
1
×
×
×
×
×
SATSUB
reg1,reg2
rrrrr000101RRRRR
GR[reg2]
←
saturated(GR[reg2]–GR[reg1])
1
1
1
×
×
×
×
×
SATSUBI imm16,reg1,reg2
rrrrr110011RRRRR
iiiiiiiiiiiiiiii
GR[reg2]
←
saturated(GR[reg1]–sign-extend(imm16)
1
1
1
×
×
×
×
×
SATSUBR reg1,reg2
rrrrr000100RRRRR
GR[reg2]
←
saturated(GR[reg1]–GR[reg2])
1
1
1
×
×
×
×
×
SETF
cccc,reg2
rrrrr1111110cccc
0000000000000000
If conditions are satisfied
then GR[reg2]
←
00000001H
else GR[reg2]
←
00000000H
1
1
1
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)
3
Note
3
3
Note
3
3
Note
3
×
reg2,[reg1]
rrrrr111111RRRRR
0000000011100000
adr
←
GR[reg1]
Z flag
←
Not(Load-memory-bit(adr,reg2))
Store-memory-bit(adr,reg2,1)
3
Note
3
3
Note
3
3
Note
3
×
SHL
reg1,reg2
rrrrr111111RRRRR
0000000011000000
GR[reg2]
←
GR[reg2] logically shift left by GR[reg1]
1
1
1
×
0
×
×
imm5,reg2
rrrrr010110iiiii
GR[reg2]
←
GR[reg2] logically shift left by
zero-extend(imm5)
1
1
1
×
0
×
×
SHR
reg1,reg2
rrrrr111111RRRRR
0000000010000000
GR[reg2]
←
GR[reg2] logically shift right by GR[reg1]
1
1
1
×
0
×
×
imm5,reg2
rrrrr010100iiiii
GR[reg2]
←
GR[reg2] logically shift right by
zero-extend(imm5)
1
1
1
×
0
×
×
SLD.B
disp7[ep],reg2
rrrrr0110ddddddd
adr
←
ep + zero-extend(disp7)
GR[reg2]
←
sign-extend(Load-memory(adr,Byte))
1
1
Note
9
SLD.BU
disp4[ep],reg2
rrrrr0000110dddd
Note 18
adr
←
ep + zero-extend(disp4)
GR[reg2]
←
zero-extend(Load-memory(adr,Byte))
1
1
Note
9
SLD.H
disp8[ep],reg2
rrrrr1000ddddddd
Note 19
adr
←
ep + zero-extend(disp8)
GR[reg2]
←
sign-extend(Load-memory(adr,Half-word))
1
1
Note
9
SLD.HU
disp5[ep],reg2
rrrrr0000111dddd
Notes 18, 20
adr
←
ep+zero-extend(disp5)
GR[reg2]
←
zero-extend(Load-memory(adr,Half-word))
1
1
Note
9
SLD.W
disp8[ep],reg2
rrrrr1010dddddd0
Note 21
adr
←
ep + zero-extend(disp8)
GR[reg2]
←
Load-memory(adr,Word)
1
1
Note
9
SST.B
reg2,disp7[ep]
rrrrr0111ddddddd
adr
←
ep + zero-extend(disp7)
Store-memory(adr,GR[reg2],Byte)
1
1
1
SST.H
reg2,disp8[ep]
rrrrr1001ddddddd
Note 19
adr
←
ep + zero-extend(disp8)
Store-memory(adr,GR[reg2],Half-word)
1
1
1
SST.W
reg2,disp8[ep]
rrrrr1010dddddd1
Note 21
adr
←
ep + zero-extend(disp8)
Store-memory(adr,GR[reg2],Word)
1
1
1
ST.B
reg2,disp16[reg1]
rrrrr111010RRRRR
dddddddddddddddd
adr
←
GR[reg1] + sign-extend(disp16)
Store-memory(adr,GR[reg2],Byte)
1
1
1
ST.H
reg2,disp16[reg1]
rrrrr111011RRRRR
ddddddddddddddd0
Note 8
adr
←
GR[reg1] + sign-extend(disp16)
Store-memory (adr,GR[reg2], Half-word)
1
1
1
(3/4)
Mnemonic
Operand
Opcode
Operation
Execution
Clock
Flags
i
r
l
CY OV
S
Z
SAT
Summary of Contents for V850E/CA1 ATOMIC
Page 6: ...6 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 52: ...52 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 144: ...144 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 162: ...162 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 224: ...224 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 308: ...308 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 512: ...512 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 564: ...564 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 566: ...566 Preliminary User s Manual U14913EE1V0UM00 MEMO ...
Page 584: ...584 Preliminary User s Manual U14913EE1V0UM00 MEMO ...