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

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
2
3
4
5
6
7
8
9
10
11
Expand
∗
1
d4 sign extended
∗
2
d7 sign extended
∗
3
d11 sign extended
NOT
Dn
NOT
_
Dn
→
Dn
0
0
3
2
0010 10Dn
0010
89
92
ASR
Dn
ASR
Dn.msb
→
temp,Dn.lsb
→
CF
0
–
3
2
0011 10Dn
0010
Dn>>1
→
Dn,temp
→
Dn.msb
LSR
Dn
LSR
Dn.lsb
→
CF,Dn>>1
→
Dn
0
0
3
2
0011 11Dn
0010
0
→
Dn.msb
90
91
ROR
Dn
ROR
Dn.Isb
→
temp,Dn>>1
→
Dn
0
3
2
0010 11Dn
0010
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
5
5
1000 0bp. <io8
...>
0011
1
→
mem8(IOTOP+io8)bp
BSET (abs8)bp
mem8(abs8)&bpdata...PSW
0
0
4
4
1011 0bp. <abs 8..>
1
→
mem8(abs8)bp
BSET (abs16)bp
mem8(abs16)&bpdata...PSW
0
0
7
6
1100 0bp. <abs 16..
....
...>
0011
1
→
mem8(abs16)bp
BCLR (io8)bp
BCLR
mem8(IOTOP+io8)&bpdata...PSW 0
0
5
5
1000 1bp. <io8
...>
0011
0
→
mem8(IOTOP+io8)bp
BCLR (abs8)bp
mem8(abs8)&bpdata...PSW
0
0
4
4
1011 1bp. <abs 8..>
0
→
mem8(abs8)bp
BCLR (abs16)bp
mem8(abs16)&bpdata...PSW
0
0
7
6
1100 1bp. <abs 16..
....
...>
0011
0
→
mem8(abs16)bp
BTST imm8,Dm
BTST
Dm&imm8...PSW
0
0
5
3
0000 11Dm <#8.
...>
0010
BTST (abs16)bp
mem8(abs16)&bpdata...PSW
0
0
7
5
1101 0bp. <abs 16..
....
...>
97
0011
98
98
99
100
100
101
102
Branch instructions
BEQ label
Bcc
if(ZF=1), PC+3+d4(label)+H
→
PC
–
–
–
–
3
2/3
1001 000H <d4>
if(ZF=0), PC+3
→
PC
BEQ label
∗
2
if(ZF=1), PC+4+d7(label)+H
→
PC
–
–
–
–
4
2/3
1000 1010 <d7.
...H
if(ZF=0), PC+4
→
PC
BEQ label
∗
3
if(ZF=1), PC+5+d11(label)+H
→
PC –
–
–
–
5
2/3
1001 1010 <d11
....
...H
if(ZF=0), PC+5
→
PC
BNE label
∗
1
∗
1
if(ZF=0), PC+3+d4(label)+H
→
PC –
–
–
–
3
2/3
1001 001H <d4>
if(ZF=1), PC+3
→
PC
BNE label
if(ZF=0), PC+4+d7(label)+H
→
PC –
–
–
–
4
2/3
1000 1011 <d7.
...H
if(ZF=1), PC+4
→
PC
BNE label
if(ZF=0), PC+5+d11(label)+H
→
PC –
–
–
–
5
2/3
1001 1011 <d11
....
...H
if(ZF=1), PC+5
→
PC
BGE label
if((VF^NF)=0),PC+4+d7(label)+H
→
PC –
–
–
–
4
2/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 –
–
–
–
5
2/3
1001 1000 <d11
....
...H
if((VF^NF)=1),PC+5
→
PC
BCC label
if(CF=0),PC+4+d7(label)+H
→
PC –
–
–
–
4
2/3
1000 1100 <d7.
...H
if(CF=1), PC+4
→
PC
BCC label
∗
3
∗
2
∗
3
if(CF=0), PC+5+d11(label)+H
→
PC –
–
–
–
5
2/3
1001 1100 <d11
....
...H
if(CF=1), PC+5
→
PC
BCS label
if(CF=1),PC+4+d7(label)+H
→
PC –
–
–
–
4
2/3
1000 1101 <d7.
...H
if(CF=0), PC+4
→
PC
BCS label
if(CF=1), PC+5+d11(label)+H
→
PC –
–
–
–
5
2/3
1001 1101 <d11
....
...H
if(CF=0), PC+5
→
PC
BLT label
if((VF^NF)=1),PC+4+d7(label)+H
→
PC –
–
–
–
4
2/3
1000 1110 <d7.
...H
∗
2
∗
3
∗
2
105
106
106
107
BLT label
if((VF^NF)=1),PC+5+d11(label)+H
→
PC –
–
–
–
5
2/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 –
–
–
–
4
2/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 –
–
–
–
5
2/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 –
–
–
–
5
3/4
0010 0001 <d7.
...H
0010
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.