589
Appendix A
Instruction Set List
Preliminary User’s Manual U14913EE1V0UM00
HALT
0000011111100000
0000000100100000
Stop
1
1
1
HSW
reg2,reg3
rrrrr11111100000
wwwww01101000100
GR[reg3]
←
GR[reg2](15 : 0) ll GR[reg2] (31 : 16)
1
1
1
×
0
×
×
JARL
disp22,reg2
rrrrr11110dddddd
ddddddddddddddd0
Note 7
GR[reg2]
←
PC + 4
PC
←
PC + sign-extend(disp22)
2
2
2
JMP
[reg1]
00000000011RRRRR
PC
←
GR[reg1]
3
3
3
JR
disp22
0000011110dddddd
ddddddddddddddd0
Note 7
PC
←
PC + sign-extend(disp22)
2
2
2
LD.B
disp16[reg1],reg2
rrrrr111000RRRRR
dddddddddddddddd
adr
←
GR[reg1] + sign-extend(disp16)
GR[reg2]
←
sign-extend(Load-memory(adr,Byte))
1
1
Note
11
LD.BU
disp16[reg1],reg2
rrrrr11110bRRRRR
dddddddddddddd1
Notes 8, 10
adr
←
GR[reg1] + sign-extend(disp16)
GR[reg2]
←
zero-extend(Load-memory(adr,Byte))
1
1
Note
11
LD.H
disp16[reg1],reg2
rrrrr111001RRRRR
ddddddddddddddd0
Note 8
adr
←
GR[reg1] + sign-extend(disp16)
GR[reg2]
←
sign-extend(Load-memory(adr,Half-word))
1
1
Note
11
LDSR
reg2,regID
rrrrr111111RRRRR
0000000000100000
Note 12
SR[regID]
←
GR[reg2]
Other than
regID = PSW
1
1
1
regID = PSW
1
1
1
×
×
×
×
×
LD.HU
disp16[reg1],reg2
rrrrr111111RRRRR
ddddddddddddddd1
Note 8
adr
←
GR[reg1]+sign-exend(disp16)
GR[reg2]
←
zero-extend(Load-memory(adr,half-word)
1
1
Note
11
LD.W
disp16[reg1],reg2
rrrrr111001RRRRR
ddddddddddddddd1
Note 8
adr
←
GR[reg1] + sign-exend(disp16)
GR[reg2]
←
Load-memory(adr,Word)
1
1
Note
9
MOV
reg1,reg2
rrrrr000000RRRRR
GR[reg2]
←
GR[reg1]
1
1
1
imm5,reg2
rrrrr010000iiiii
GR[reg2]
←
sign-extend(imm5)
1
1
1
imm32,reg1
00000110001RRRRR
iiiiiiiiiiiiiiii
iiiiiiiiiiiiiiii
GR[reg1]
←
imm32
2
2
2
MOVEA
imm16,reg1,reg2
rrrrr110001RRRRR
iiiiiiiiiiiiiiii
GR[reg2]
←
GR[reg1] + sign-extend(imm16)
1
1
1
MOVHI
imm16,reg1,reg2
rrrrr110010RRRRR
iiiiiiiiiiiiiiii
GR[reg2]
←
GR[reg1] + (imm16 ll 0
16
)
1
1
1
MUL
reg1,reg2,reg3
rrrrr111111RRRRR
wwwww01000100000
GR[reg3] ll GR[reg2]
←
GR[reg2]
×
GR[reg1]
1
2
Note
14
2
imm9,reg2,reg3
rrrrr111111iiiii
wwwww01001IIII00
GR[reg3] ll GR[reg2]
←
GR[reg2]
×
sign-extend(imm9)
Note 13
1
2
Note
14
2
MULH
reg1,reg2
rrrrr000111RRRRR
GR[reg2]
←
GR[reg2]
Note 6
×
GR[reg1]
Note 6
1
1
2
imm5,reg2
rrrrr010111iiiii
GR[reg2]
←
GR[reg2]
Note 6
×
sign-extend(imm5)
1
1
2
MULHI
imm16,reg1,reg2
rrrrr110111RRRRR
iiiiiiiiiiiiiiii
GR[reg2]
←
GR[reg1]
Note 6
×
imm16
1
1
2
MULU
reg1,reg2,reg3
rrrrr111111RRRRR
wwwww01000100010
GR[reg3] ll GR[reg2]
←
GR[reg2]xGR[reg1]
1
2
Note
14
2
imm9,reg2,reg3
rrrrr111111iiiii
wwwww01001IIII10
GR[reg3] ll GR[reg2]
←
GR[reg2]xzero-extend(imm9)
Note 13
1
2
Note
14
2
NOP
0000000000000000
Pass at least one clock cycle doing nothing.
1
1
1
NOT
reg1,reg2
rrrrr000001RRRRR
GR[reg2]
←
NOT(GR[reg1])
1
1
1
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)
3
Note
3
3
Note
3
3
Note
3
×
reg2,[reg1]
rrrrr111111RRRRR
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
×
OR
reg1,reg2
rrrrr001000RRRRR
GR[reg2]
←
GR[reg2]OR GR[reg1]
1
1
1
0
×
×
ORI
imm16,reg1,reg2
rrrrr110100RRRRR
iiiiiiiiiiiiiiii
GR[reg2]
←
GR[reg1]OR zero-extend(imm16)
1
1
1
0
×
×
(2/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 ...