Chapter 17 Appendices
XVII - 16
Instruction Set
17-3 Instruction Set
MN101C SERIES INSTRUCTION SET
Group
Data Move Instructions
Mnemonic Operation
Flag
VF
NF CF ZF
Code
Size
Cycle
Re-
peat
Machine Code
Notes
1
234567891011Ext.
MOV
-- -- -- --
21
1010
DnDm
MOV imm8,Dm
imm8→Dm
-- -- -- --
42
1010
DmDm <#8. ...>
MOV Dn,PSW
Dn→PSW
33
1001
01Dn0010
MOV PSW,Dm
PSW→Dm
-- -- -- --
32
0001
01Dm0010
MOV (An),Dm
mem8(An)→Dm
-- -- -- --
22
0100
1ADm
MOV (d8,An),Dm
mem8(d8+An)→Dm
-- -- -- --
42
0110
1ADm <d8. ...>
MOV (d16,An),Dm
mem8(d16+An)→Dm
-- -- -- --
74
0110
1ADm <d16 .... .... ...>0010
MOV (d4,SP),Dm
mem8(d4+SP)→Dm
-- -- -- --
32
0110
01Dm <d4>
MOV (d8,SP),Dm
*1
*2
*3
mem8(d8+SP)→Dm
-- -- -- --
53
0110
01Dm <d8. ...>0010
MOV (d16,SP),Dm
mem8(d16+SP)→Dm
-- -- -- --
74
0110
00Dm <d16 .... .... ...>0010
MOV Dn,(io8)
Dn→mem8(IOTOP+io8)
-- -- -- --
42
0111
00Dn <io8 ...>
MOV Dn,(abs8)
Dn→mem8(abs8)
-- -- -- --
42
0101
01Dn <abs 8..>
MOV Dn,(abs12)
Dn→mem8(abs12)
-- -- -- --
52
0101
00Dn <abs 12.. ...>
MOV Dn,(abs16)
Dn→mem8(abs16)
-- -- -- --
74
1101
00Dn <abs 16.. .... ...>0010
MOV imm8,(io8) imm
8→mem8(IOTOP+io8)
-- -- -- --
63
0000
0010 <io8 ...> <#8. ...>
MOV imm8,(abs8) imm
8→mem8(abs8)
-- -- -- --
63
0001
0100 <abs 8..> <#8. ...>
MOV imm8,(abs12) imm
8→mem8(abs12)
-- -- -- --
73
0001
0101 <abs 12.. ...> <#8. ...>
MOV imm8,(abs16) imm
8→mem8(abs16)
-- -- -- --
95
1101
1001 <abs 16.. .... ...> <#8. ...>0011
MOV Dn,(HA)
Dn→mem8(HA)
-- -- -- --
22
1101
00Dn
MOV
W
(abs16),DWm
mem16(abs16)→DWm
-- -- -- --
75
1100
011d <abs 16.. .... ...>0010
MOV
W
(abs16),Am
mem16(abs16)→Am
-- -- -- --
75
1100
010a <abs 16.. .... ...>0010
MOV
W
DWn,(Am)
DWn→mem16(Am)
-- -- -- --
23
1111
00aD
MOV
W
An,(Am) *4
An→mem16(Am)
-- -- -- --
34
1111
10aA0010
MOV
W
DWn,(d4,SP)
DWn→mem16(d4+SP)
-- -- -- --
33
1111
011D <d4>
MOV
W
An,(d4,SP)
An→mem16(d4+SP)
-- -- -- --
33
1111
010A <d4>
MOV
W
DWn,(d8,SP)
DWn→mem16(d8+SP)
-- -- -- --
54
1111
011D <d8. ...>0010
MOV
W
An,(d8,SP)
*2
*2
*3
*3
An→mem16(d8+SP)
-- -- -- --
54
1111
010A <d8. ...>0010
MOV
W
DWn,(d16,SP)
DWn→mem16(d16+SP)
-- -- -- --
75
1111
001D <d16 .... .... ...>0010
MOV
W
An,(d16,SP)
An→mem16(d16+SP)
-- -- -- --
75
1111
000A <d16 .... .... ...>0010
MOV
W
DWn,(abs8)
DWn→mem16(abs8)
-- -- -- --
43
1101
011D <abs 8..>
MOV
W
An,(abs8)
An→mem16(abs8)
-- -- -- --
43
1101
010A <abs 8..>
MOV
W
DWn,(abs16)
DWn→mem16(abs16)
-- -- -- --
75
1101
011D <abs 16.. .... ...>0010
MOV
W
An,(abs16)
An→mem16(abs16)
-- -- -- --
75
1101
010A <abs 16.. .... ...>0010
MOV
W
DWn,(HA)
DWn→mem16(HA)
-- -- -- --
23
1001
010D
MOV
W
An,(HA)
An→mem16(HA)
-- -- -- --
23
1001
011A
MOVW
imm8,DWm
sign(imm8)→DWm
-- -- -- --
42
0000
110d <#8. ...>
MOVW
imm8,Am
*5
*6
*1 d8 sign-extension
*2 d4 zero-extension
*3 d8 zero-extension
*4 A=An, a=Am
*5 #8 sign-extension
*6 #8 zero-extension
zero(imm8)→Am
-- -- -- --
42
0000
111a <#8. ...>
MOVW
imm16,DWm
imm16→DWm
-- -- -- --
63
1100
111d <#16 .... .... ...>
MOV
W
(An),DWmMOV
W mem16(An)→DWm
-- -- -- --
23
1110
00Ad
MOV
W
(An),Am
mem16(An)→Am
-- -- -- --
34
1110
10Aa0010
MOV
W
(d4,SP),DWm
mem16(d4+SP)→DWm
-- -- -- --
33
1110
011d <d4>
MOV
W
(d4,SP),Am
mem16(d4+SP)→Am
-- -- -- --
33
1110
010a <d4>
MOV
W
(d8,SP),DWm
mem16(d8+SP)→DWm
-- -- -- --
54
1110
011d <d8. ...>0010
MOV
W
(d8,SP),Am
*4
*2
*2
*3
*3
mem16(d8+SP)→Am
-- -- -- --
54
1110
010a <d8. ...>0010
MOV
W
(d16,SP),DWm
mem16(d16+SP)→DWm
-- -- -- --
75
1110
001d <d16 .... .... ...>0010
MOV
W
(d16,SP),Am
mem16(d16+SP)→Am
-- -- -- --
75
1110
000a <d16 .... .... ...>0010
MOV
W
(abs8),DWm
mem16(abs8)→DWm
-- -- -- --
43
1100
011d <abs 8..>
MOV
W
(abs8),Am
mem16(abs8)→Am
-- -- -- --
43
1100
010a <abs 8..>
MOV (io8),Dm
mem8(IOTOP+io8)→Dm
-- -- -- --
42
0110
00Dm <io8 ...>
MOV (abs8),Dm
mem8(abs8)→Dm
-- -- -- --
42
0100
01Dm <abs 8..>
MOV (abs12),Dm
mem8(abs12)→Dm
-- -- -- --
52
0100
00Dm <abs 12.. ...>
MOV (abs16),Dm
mem8(abs16)→Dm
-- -- -- --
74
1100
00Dm <abs 16.. .... ...>0010
MOV Dn,(Am)
Dn→mem8(Am)
-- -- -- --
22
0101
1aDn
MOV Dn,(d8,Am)
Dn→mem8(d8+Am)
-- -- -- --
42
0111
1aDn <d8. ...>
MOV Dn,(d16,Am)
Dn→mem8(d16+Am)
-- -- -- --
74
0111
1aDn <d16 .... .... ...>0010
MOV Dn,(d4,SP)
Dn→mem8(d4+SP)
-- -- -- --
32
0111
01Dn <d4>
MOV Dn,(d8,SP)
*1
*2
*3
Dn→mem8(d8+SP)
-- -- -- --
53
0111
01Dn <d8. ...>0010
MOV Dn,(d16,SP)
Dn→mem8(d16+SP)
-- -- -- --
74
0111
00Dn <d16 .... .... ...>0010
MOV Dn,Dm
Dn→Dm