Xvii - 19 – Panasonic MN101C77C User Manual
Page 519
XVII - 19
Chapter 17 Appendices
Instruction Set
MN101C SERIES INSTRUCTION SET
Group
Mnemonic
Operation
Flag
VF NF CF ZF
Code
Size
Cycle Re-
peat
Machine Code
Notes
1
2
3
4
5
6
7
8
9
10
11
Exten-
sion
*1 d4 sign-extension
*2 d7 sign-extension
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
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
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
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-extension
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