Datasheet

71M6541D/F/G and 71M6542F/G Data Sheet
Rev 4
Name
Address
(Hex)
Reset value
(Hex)
Description Page
T2CON
0xC8
0x00
Polarity for INT2 and INT3
43
PSW
0xD0
0x00
Program Status Word
35
WDCON
0xD8
0x00
Baud Rate Control Register (only WDCON[7] bit used)
37
A
0xE0
0x00
Accumulator
35
B
0xF0
0x00
B Register
35
Accumulator (ACC, A, SFR 0x E0):
ACC is the accumulator register. Most instructions use the accumulator to hold the operand. The
mnemonics for accumulator-specific instructions refer to accumulator as A, not ACC.
B Register (SFR 0xF0):
The B register is used during multiply and divide instructions. It can also be used as a scratch-pad register
to hold temporary data.
Program Status Word (PSW, SFR 0xD0 ):
This register contains various flags and control bits for the selection of the register banks (see Table 14).
Table 14: PSW Bit Functions (SFR 0xD0)
PSW
Bit
Symbol
Function
7
CV
Carry flag.
6
AC
Auxiliary Carry flag for BCD operations.
5
F0
General purpose Flag 0 available for user.
F0 is not to be confused with the F0 flag in the CESTATUS register.
4
RS1
Register bank select control bits. The contents of RS1 and RS0 select the
working register bank:
RS1/RS0
Bank selected
Location
00
Bank 0
0x00 0x07
01
Bank 1
0x08 0x0F
10
Bank 2
0x10 0x17
11
Bank 3
0x18 0x1F
3
RS0
2
OV
Overflow flag.
1
User defined flag.
0
P
Parity flag, affected by hardware to indicate odd or even number of one bits in
the Accumulator, i.e., even parity.
Stack Pointer (SP, SFR 0x81):
The stack pointer is a 1-byte register initialized to 0x07 after reset. This register is incremented before
PUSH and CALL instructions, causing the stack to begin at location 0x08.
Data Pointer:
The data pointers (DPTR and DPRT1) are 2 bytes wide. The lower part is DPL (SFR 0x82) and DPL1 (SFR
0x84), respectively. The highest is DPH (SFR 0x83) and DPH1 (SFR 0x85), respectively. The data pointers
can be loaded as two registers (e.g., MOV DPL,#data8). They are generally used to access external
code or data space (e.g., MOVC A,@A+DPTR or MOVX A,@DPTR respectively).
Program Counter:
The program counter (PC) is 2 bytes wide and initialized to 0x0000 after reset. This register is incremented
when fetching operation code or when operating on data from program memory.