SM39A16M1
8-Bit Micro-controller
16KB with ISP Flash
& 1K+256B RAM embedded
4. CPU Engine
The SM39A16M1 engine is composed of four components:
(1)
(2)
(3)
(4)
Control unit
Arithmetic – logic unit
Memory control unit
RAM and SFR control unit
The SM39A16M1 engine allows to fetch instruction from program memory and to execute using RAM or SFR. The
following chapter describes the main engine register.
Mnemonic
Description
Accumulator
Dir.
Bit 7
Bit 6
8051 Core
E0h ACC.7 ACC.6 ACC.5 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
RST
ACC
B
00H
00H
B register
F0h
B.7
B.6
B.5
B.4
B.3
B.2
B.1
B.0
Program status
word
PSW
D0h
CY
AC
F0
RS[1:0]
OV
PSW.1
P
00H
SP
DPL
DPH
DPL1
DPH1
AUX
Stack Pointer
Data pointer low 0
Data pointer high 0
Data pointer low 0
Data pointer high 0
Auxiliary register
Clock control
register
81h
82h
83h
84h
85h
91h
SP[7:0]
DPL[7:0]
DPH[7:0]
DPL1[7:0]
DPH1[7:0]
07H
00H
00H
00H
00H
00H
P21CC
CDPR
BRGS
-
-
P1UR
-
-
-
-
DPS
CKCON
IFCON
8Eh
8Fh
ITS[2:0]
CLKOUT[1:0]
ISPE
10H
00H
Interface control
register
-
-
-
-
-
4.1 Accumulator
ACC is the Accumulator register. Most instructions use the accumulator to store the operand.
Mnemonic: ACC Address: E0h
7
6
5
4
3
2
1
0
Reset
00h
ACC.7 ACC.6 ACC05 ACC.4 ACC.3 ACC.2 ACC.1 ACC.0
ACC[7:0]: The A (or ACC) register is the standard 8052 accumulator.
4.2 B Register
The B register is used during multiply and divide instructions. It can also be used as a scratch pad register to store
temporary data.
Mnemonic: B
Address: F0h
7
B.7
6
B.6
5
B.5
4
B.4
3
B.3
2
B.2
1
B.1
0
B.0
Reset
00h
B[7:0]: The B register is the standard 8052 register that serves as a second accumulator.
Specifications subject to change without notice contact your sales representatives for the most recent information.
ISSFD-M069
Ver C SM39A16M1 7/31/2013
- 25 -