Chapter 10 appendices, Instruction set – Panasonic MN101C00 User Manual
Page 158

Chapter 10 Appendices
144
Instruction Set
MN101C00 SERIES INSTRUCTION SET
Group
Mnemonic
Operation
Affected Flag
VF NF CF ZF
Code
Size
Cycle Re-
peat
Machine Code
Notes Page
1
2
3
4
5
6
7
8
9
10
11
Expand
∗
1
d4 sign extended
∗
2
d7 sign extended
107
108
108
109
109
BGT label
Bcc
if((VF^NF)|ZF=0),PC+6+d11(label)+H
→
PC –
–
–
–
6
3/4
0011 0001 <d11
....
...H
0010
if((VF^NF)|ZF=1),PC+6
→
PC
BHI label
if(CFIZF=0),PC+5+d7(label)+H
→
PC –
–
–
–
5
3/4
0010 0010 <d7.
...H
0010
if(CFIZF=1), PC+5
→
PC
BHI label
if(CFIZF=0),PC+6+d11(label)+H
→
PC –
–
–
6
3/4
0011 0010 <d11
....
...H
0010
if(CFIZF=1), PC+6
→
PC
BLS label
if(CFIZF=1),PC+5+d7(label)+H
→
PC –
–
–
–
5
3/4
0010 0011 <d7.
...H
0010
if(CFIZF=0), PC+5
→
PC
BLS label
∗
3
∗
2
∗
3
∗
2
∗
3
if(CFIZF=1),PC+6+d11(label)+H
→
PC –
–
–
–
6
3/4
0011 0011 <d11
....
...H
0010
if(CFIZF=0), PC+6
→
PC
BNC label
if(NF=0),PC+5+d7(label)+H
→
PC –
5
110
110
111
111
112
112
113
113
3/4
0010 0100 <d7.
...H
0010
if(NF=1),PC+5
→
PC
BNC label
if(NF=0),PC+6+d11(label)+H
→
PC –
–
–
–
6
3/4
0011 0100 <d11
....
...H
0010
if(NF=1),PC+6
→
PC
BNS label
if(NF=1),PC+5+d7(label)+H
→
PC –
–
–
–
5
3/4
0010 0101 <d7.
...H
0010
if(NF=0),PC+5
→
PC
BNS label
if(NF=1),PC+6+d11(label)+H
→
PC –
–
–
–
6
3/4
0011 0101 <d11
....
...H
0010
if(NF=0),PC+6
→
PC
BVC label
if(VF=0),PC+5+d7(label)+H
→
PC
–
–
–
–
5
3/4
0010 0110 <d7.
...H
0010
if(VF=1),PC+5
→
PC
BVC label
if(VF=0),PC+6+d11(label)+H
→
PC –
–
–
–
6
3/4
0011 0110 <d11
....
...H
0010
if(VF=1),PC+6
→
PC
BVS label
if(VF=1),PC+5+d7(label)+H
→
PC
–
–
–
–
5
3/4
0010 0111 <d7.
...H
0010
if(VF=0),PC+5
→
PC
BVS label
if(VF=1),PC+6+d11(label)+H
→
PC –
–
–
–
6
3/4
0011 0111 <d11
....
...H
0010
if(VF=0),PC+6
→
PC
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
114
114
115
BRA label
PC+3+d4(label)+H
→
PC
–
–
–
–
3
3
1110 111H <d4>
BRA label
PC+4+d7(label)+H
→
PC
–
–
–
–
4
3
1000 1001 <d7.
...H
BRA label
PC+5+d11(label)+H
→
PC
–
–
–
–
5
3
1001 1001 <d11
....
...H
∗
2
∗
3
∗
1
116
116
117
117
118
118
119
119
120
120
121
121
122
122
CBEQ imm8,Dm,label
CBEQ
if(Dm=imm8),PC+6+d7(label)+H
→
PC
6
3/4
1100 10Dm <#8.
...>
<d7.
...H
if(Dm=imm8),PC+6
→
PC
/
if(Dm=imm8),PC+8+d11(label)+H PC
if(Dm=imm8),PC+8
→
PC
/
CBEQ imm8,Dm,label
8
4/5
1100 10Dm <#8.
...>
<d11
....
...H
0010
CBEQ imm8,(abs8),label
if(mem8(abs8)=imm8),PC+9+d7(label)+H
→
PC
9
6/7
1101 1100 <abs 8..>
<#8.
...>
<d7.
...H
0010
if(mem8(abs8)=imm8),PC+9
→
PC
/
CBEQ imm8,(abs8),label
if(mem8(abs8)=imm8),PC+10+d11(label)+H
→
PC
10
6/7
1101 1101 <abs 8..>
<#8.
...>
<d11
....
...H
0010
if(mem8(abs8)=imm8),PC+10
→
PC
/
CBEQ imm8,(abs16),label if(mem8(abs16)=imm8),PC+11+d7(label)+H
→
PC
11
7/8
1101 1100 <abs 16..
....
...>
<#8.
...>
<d7.
...H
0011
if(mem8(abs16)=imm8),PC+11
→
PC
/
CBEQ imm8,(abs16),label
if(mem8(abs16)=imm8),PC+12+d11(label)+H
→
PC
12
7/8
1101 1101 <abs 16..
....
...>
<#8.
...>
<d11
....
...H
0011
if(mem8(abs16)=imm8),PC+12
→
PC
/
CBNE imm8,Dm,label
if(Dm=imm8),PC+6+d7(label)+H
→
PC
/
6
3/4
1101 10Dm <#8.
...>
<d7. ..H>
if(Dm=imm8),PC+6
→
PC
CBNE imm8,Dm,label
if(Dm=imm8),PC+8+d11(label)+H
→
PC
/
8
4/5
1101 10Dm <#8.
...>
<d11
....
...H
0010
if(Dm=imm8),PC+8
→
PC
CBNE imm8,(abs8),label
if(mem8(abs8)=imm8),PC+9+d7(label)+H
→
PC
/
9
6/7
1101 1110 <abs 8..>
<#8.
...>
<d7.
...H
0010
if(mem8(abs8)=imm8),PC+9
→
PC
CBNE imm8,(abs8),label
if(mem8(abs8)=imm8),PC+10+d11(label)+H
→
PC
/
10
6/7
1101 1111 <abs 8..>
<#8.
...>
<d11
....
...H
0010
if(mem8(abs8)=imm8),PC+10
→
PC
CBNE imm8,(abs16),label if(mem8(abs16)=imm8),PC+11+d7(label)+H
→
PC
/
11
7/8
1101 1110 <abs 16..
....
...>
<#8.
...>
<d7.
...H
0011
if(mem8(abs16)=imm8),PC+11
→
PC
CBNE imm8,(abs16),label if(mem8(abs16)=imm8),PC+12+d11(label)+H
→
PC
/
12
7/8
1101 1111 <abs 16..
....
...>
<#8.
...>
<d11
....
...H
0011
if(mem8(abs16)=imm8),PC+12
→
PC
TBZ (abs8)bp,label
TBZ
if(mem8(abs8)bp=0),PC+7+d7(label)+H
→
PC 0
0
7
6/7
0000 0bp. <abs 8..>
<d7.
...H
0011
if(mem8(abs8)bp=1),PC+7
→
PC
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
∗
2
∗
3
CBNE
∗
3
d11 sign extended
TBZ (abs8)bp,label
if(mem8(abs8)bp=0),PC+8+d11(label)+H
→
PC 0
0
8
6/7
0000 1bp. <abs 8..> <d11
....
...H
0011
if(mem8(abs8)bp=1),PC+8
→
PC
Note: "Page" refers to the corresponding page in the Instruction Manual.