XVIII - 19
Chapter 18 Appendices
Instruction Set
MN101C SERIES INSTRUCTION SET
Group
Mnemonic
Operation
Flag
VF NF CF ZF
Code
Size
Cycle Re-
peat
Machine Code
Notes
1
2345
6789
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
--
33
1110 111H <d4>
BRA label
PC+4+d7(label)+H
→PC
--
43
1000 1001 <d7.
...H
BRA label
PC+5+d11(label)+H
→PC
--
53
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 00
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 00
8
6/7
0000 1bp. <abs 8..> <d11
....
...H
0011
if(mem8(abs8)bp=1),PC+8
→PC