Chapter 10 Appendices
143
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
234567891011Expand
∗1 d4 sign extended
∗2 d7 sign extended
∗3 d11 sign extended
NOT
Dn
NOT
_
Dn→Dn
00
32
0010
10Dn0010
89
92
ASR
Dn
ASR Dn.msb→temp,Dn.lsb→CF
0–
32
0011
10Dn0010
Dn>>1→Dn,temp→Dn.msb
LSR
Dn
LSR Dn.lsb→CF,Dn>>1→Dn
00
32
0011
11Dn0010
0→Dn.msb
90
91
ROR
Dn
ROR Dn.Isb→temp,Dn>>1→Dn
0
32
0010
11Dn0010
CF→Dn.msb,temp→CF
93
93
94
95
95
96
97
Bit manipulation instructions
BSET (io8)bp
BSET
mem8(IOTOP+io8)&bpdata...PSW
0 0
55
1000
0bp. <io8 ...>0011
1→mem8(
IOTOP+
io8)bp
BSET (abs8)bp
mem8(abs8)&bpdata...PSW
0 0
44
1011
0bp. <abs 8..>
1→mem8(abs8)bp
BSET (abs16)bp
mem8(abs16)&bpdata...PSW
0 0
76
1100
0bp. <abs 16.. .... ...>0011
1→mem8(abs16)bp
BCLR (io8)bp
BCLR
mem8(IOTOP+io8)&bpdata...PSW
0 0
55
1000
1bp. <io8 ...>0011
0→mem8(
IOTOP+
io8)bp
BCLR (abs8)bp
mem8(abs8)&bpdata...PSW
0 0
44
1011
1bp. <abs 8..>
0→mem8(abs8)bp
BCLR (abs16)bp
mem8(abs16)&bpdata...PSW
0 0
76
1100
1bp. <abs 16.. .... ...>0011
0→mem8(abs16)bp
BTST imm8,Dm
BTST Dm&imm8...PSW
0 0
53
0000
11Dm <#8. ...>0010
BTST (abs16)bp
mem8(abs16)&bpdata...PSW
0 0
75
1101
0bp. <abs 16.. .... ...> 970011
98
98
99
100
100
101
102
Branch instructions
BEQ label
Bcc
if(ZF=1), PC+3+d4(label)+H
→
PC
––––
32/3
1001
000H <d4>
if(ZF=0), PC+3→PC
BEQ label ∗2if(ZF=1), PC+4+d7(label)+H
→
PC
––––
42/3
1000
1010 <d7. ...H
if(ZF=0), PC+4→PC
BEQ label ∗3if(ZF=1), PC+5+d11(label)+H
→
PC
––––
52/3
1001
1010 <d11 .... ...H
if(ZF=0), PC+5→PC
BNE label
∗1
∗1
if(ZF=0), PC+3+d4(label)+H
→
PC
––––
32/3
1001
001H <d4>
if(ZF=1), PC+3→PC
BNE label
if(ZF=0), PC+4+d7(label)+H
→
PC
––––
42/3
1000
1011 <d7. ...H
if(ZF=1), PC+4→PC
BNE label if(ZF=0), PC+5+d11(label)+H
→
PC
––––
52/3
1001
1011 <d11 .... ...H
if(ZF=1), PC+5→PC
BGE label
if((VF^NF)=0),PC+4+d7(label)+H→PC
––––
42/3
1000
1000 <d7. ...H
if((VF^NF)=1),PC+4→PC
∗2
∗3
∗2
102
103
103
104
104
105
BGE label
if((VF^NF)=0),PC+5+d11(label)+H→PC
––––
52/3
1001
1000 <d11 .... ...H
if((VF^NF)=1),PC+5→PC
BCC label
if(CF=0),PC+4+d7(label)+H
→
PC
––––
42/3
1000
1100 <d7. ...H
if(CF=1), PC+4→PC
BCC label
∗3
∗2
∗3if(CF=0), PC+5+d11(label)+H
→
PC
––––
52/3
1001
1100 <d11 .... ...H
if(CF=1), PC+5→PC
BCS label
if(CF=1),PC+4+d7(label)+H
→
PC
––––
42/3
1000
1101 <d7. ...H
if(CF=0), PC+4→PC
BCS label if(CF=1), PC+5+d11(label)+H
→
PC
––––
52/3
1001
1101 <d11 .... ...H
if(CF=0), PC+5→PC
BLT label
if((VF^NF)=1),PC+4+d7(label)+H→PC
––––
42/3
1000
1110 <d7. ...H
∗2
∗3
∗2
105
106
106
107
BLT label
if((VF^NF)=1),PC+5+d11(label)+H→PC
––––
52/3
1001
1110 <d11 .... ...H
if((VF^NF)=0),PC+5→PC
BLE label
if((VF^NF)|ZF=1),PC+4+d7(label)+H→PC
––––
42/3
1000
1111 <d7. ...H
if((VF^NF)|ZF=0),PC+4→PC
BLE label
if((VF^NF)|ZF=1),PC+5+d11(label)+H→PC
––––
52/3
1001
1111 <d11 .... ...H
if((VF^NF)|ZF=0),PC+5→PC
BGT label
if((VF^NF)|ZF=0),PC+5+d7(label)+H→PC
––––
53/4
0010
0001 <d7. ...H0010
if((VF^NF)|ZF=1),PC+5→PC
∗3
∗2
∗3
∗2
if((VF^NF)=0),PC+4→PC
Note: "Page" refers to the corresponding page in the Instruction Manual.