Chapter 18 Appendices
XVIII - 20
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
TBNZ (abs8)bp,label
if(mem8(abs8)bp=1),PC+8+d11(label)+H
→PC 00
8
6/7
0001 1bp. <abs 8..> <d11
....
...H
0011
if(mem8(abs8)bp=0),PC+8
→PC
TBNZ (io8)bp,label
if(mem8(io)bp=1),PC+8+d11(label)+H
→PC 00
8
6/7
0101 1bp. <io8
...>
<d11
....
...H
0011
if(mem8(io)bp=0),PC+8
→PC
TBNZ (abs16)bp,label
*2
if(mem8(abs16)bp=1),PC+10+d11(label)+H
→PC 00
10
7/8
1111 1bp. <abs 16..
....
...>
<d11
....
...H
0011
if(mem8(abs16)bp=0),PC+10
→PC
JSR (An)
JSR
SP-3
→SP,(PC+3).bp7-0→mem8(SP) --- --- --- --- 37
0001 00A1
0010
(PC+3).bp15-8
→mem8(SP+1)
(PC+3).H
→mem8(SP+2).bp7,
0
→mem8(SP+2).bp6-2,
(PC+3).bp17-16
→mem8(SP+2).bp1-0
0
→PC.bp17-16
An
→PC.bp15-0,0→PC.H
JSR label
SP-3
→SP,(PC+5).bp7-0→mem8(SP) --- --- --- --- 56
0001 000H <d12
....
...>
(PC+5).bp15-8
→mem8(SP+1)
(PC+5).H
→mem8(SP+2).bp7,
0
→mem8(SP+2).bp6-2,
(PC+5).bp17-16
→mem8(SP+2).bp1-0
PC+5+d12(label)+H
→PC
JSR label
SP-3
→SP,(PC+6).bp7-0→mem8(SP) --- --- --- --- 67
0001 001H <d16
....
...>
(PC+6).bp15-8
→mem8(SP+1)
(PC+6).H
→mem8(SP+2).bp7,
0
→mem8(SP+2).bp6-2,
(PC+6).bp17-16
→mem8(SP+2).bp1-0
PC+6+d16(label)+H
→PC
JSR label
*3
*4
*5
SP-3
→SP,(PC+7).bp7-0→mem8(SP) --- --- --- --- 78
1001 1aaH <abs 18.b p15~ 0..>
0011
(PC+7).bp15-8
→mem8(SP+1)
(PC+7).H
→mem8(SP+2).bp7,
0
→mem8(SP+2).bp6-2,
(PC+7).bp17-16
→mem8(SP+2).bp1-0
abs18(label)+H
→PC
JSRV (tbl4)
SP-3
→SP,(PC+3).bp7-0→mem8(SP) --- --- --- --- 39
1111 1110 <t4>
(PC+3).bp15-8
→mem8(SP+1)
(PC+3).H
→mem8(SP+2).bp7
(PC+3).bp17-16
→mem8(SP+2).bp1-0
mem8(x'004080+tbl4<<2)
→PC.bp7-0
mem8(x'004080+tbl4<<2+1)
→PC.bp15-8
mem8(x'004080+tbl4<<2+2).bp7
→PC.H
mem8(x'004080+tbl4<<2+2).bp1-0
→
PC.bp17-16
*2
d11 sign-extension
*4
d16 sign-extension
*5
aa=abs18.17 - 16
TBZ (abs16)bp,label
TBZ
if(mem8(abs16)bp=0),PC+9+d7(label)+H
→PC 00
9
7/8
1110 0bp. <abs 16..
....
...>
<d7.
...H
0011
if(mem8(abs16)bp=1),PC+9
→PC
TBZ (io8)bp,label
if(mem8(IOTOP+io8)bp=0),PC+8+d11(label)+H
→PC 00
8
6/7
0100 1bp. <io8
...>
<d11
....
...H
0011
if(mem8(IOTOP+io8)bp=1),PC+8
→PC
TBZ (abs16)bp,label
if(mem8(abs16)bp=0),PC+10+d11(label)+H
→PC 00
10
7/8
1110 1bp. <abs 16..
....
...>
<d11
....
...H
0011
if(mem8(abs16)bp=1),PC+10
→PC
TBNZ (abs8)bp,label
TBNZ
if(mem8(abs8)bp=1),PC+7+d7(label)+H
→PC 00
7
6/7
0001 0bp. <abs 8..>
<d7.
...H
0011
if(mem8(abs8)bp=0),PC+7
→PC
TBNZ (io8)bp,label
if(mem8(io)bp=1),PC+7+d7(label)+H
→PC 00
7
6/7
0101 0bp. <io8
...>
<d7.
...H
0011
if(mem8(io)bp=0),PC+7
→PC
TBNZ (abs16)bp,label
*1
*2
*1
if(mem8(abs16)bp=1),PC+9+d7(label)+H
→PC 00
9
7/8
1111 0bp. <abs 16..
....
...>
<d7.
...H
0011
if(mem8(abs16)bp=0),PC+9
→PC
JMP (An)
JMP
0
→PC.17-16,An→PC.15-0,0→PC.H
--- --- --- ---
34
0001 00A0
0010
JMP label
abs18(label)+H
→PC
--- --- --- ---
75
1001 0aaH <abs 18.b p15~ 0..>
0011
NOP
PC+2
→PC
--- --- --- ---
21
0000 0000
*1
d7 sign-extension
TBZ (io8)bp,label
if(mem8(IOTOP+io8)bp=0),PC+7+d7(label)+H
→PC 00
7
6/7
0100 0bp. <io8
...>
<d7.
...H
0011
if(mem8(IOTOP+io8)bp=1),PC+7
→PC
*1
*5
0
→mem8(SP+2).bp6-2,
*3
d12 sign-extension