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. ...> 0011 1 → mem8(IOTOP+io8)bp BSET (abs8)bp mem8(abs8)&bpdata...PSW 0 0 4 4 1011 0bp. 1 → mem8(abs8)bp BSET (abs16)bp mem8(abs16)&bpdata...PSW 0 0 7 6 1100 0bp. .... ...> 0011 1 → mem8(abs16)bp BCLR (io8)bp BCLR mem8(IOTOP+io8)&bpdata...PSW 0 0 5 5 1000 1bp. ...> 0011 0 → mem8(IOTOP+io8)bp BCLR (abs8)bp mem8(abs8)&bpdata...PSW 0 0 4 4 1011 1bp. 0 → mem8(abs8)bp BCLR (abs16)bp mem8(abs16)&bpdata...PSW 0 0 7 6 1100 1bp. .... ...> 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. .... ...> 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 if(ZF=0), PC+3 → PC BEQ label ∗ 2 if(ZF=1), PC+4+d7(label)+H → PC – – – – 4 2/3 1000 1010 ...H if(ZF=0), PC+4 → PC BEQ label ∗ 3 if(ZF=1), PC+5+d11(label)+H → PC – – – – 5 2/3 1001 1010 .... ...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 if(ZF=1), PC+3 → PC BNE label if(ZF=0), PC+4+d7(label)+H → PC – – – – 4 2/3 1000 1011 ...H if(ZF=1), PC+4 → PC BNE label if(ZF=0), PC+5+d11(label)+H → PC – – – – 5 2/3 1001 1011 .... ...H if(ZF=1), PC+5 → PC BGE label if((VF^NF)=0),PC+4+d7(label)+H → PC – – – – 4 2/3 1000 1000 ...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 .... ...H if((VF^NF)=1),PC+5 → PC BCC label if(CF=0),PC+4+d7(label)+H → PC – – – – 4 2/3 1000 1100 ...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 .... ...H if(CF=1), PC+5 → PC BCS label if(CF=1),PC+4+d7(label)+H → PC – – – – 4 2/3 1000 1101 ...H if(CF=0), PC+4 → PC BCS label if(CF=1), PC+5+d11(label)+H → PC – – – – 5 2/3 1001 1101 .... ...H if(CF=0), PC+5 → PC BLT label if((VF^NF)=1),PC+4+d7(label)+H → PC – – – – 4 2/3 1000 1110 ...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 .... ...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 ...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 .... ...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 ...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.