![](http://datasheet.mmic.net.cn/310000/ADE7169ACPF16_datasheet_16240591/ADE7169ACPF16_75.png)
Preliminary Technical Data
ADE7169F16
Both direct and indirect addressing can be used to access
General Purpose RAM from 0x00 through 0x7F but indirect
addressing must be used to access General Purpose RAM with
addresses in the range from 0x80 through 0xFF because they
share the same address space with the Special Function
Registers (SFRs).
Rev. PrD | Page 75 of 140
The 8052 core also has the means to access individual bits of
certain addresses in the General Purpose RAM and Special
Function Memory spaces. The individual bits of General
Purpose RAM addresses 0x20 through 0x2F can be accessed
through their bit addresses 0x00 through 0x7F. The benefit of
bit addressing is that the individual bits can be accessed quickly,
without the need for bit masking, which takes more code
memory and execution time. The bit addresses for General
Purpose RAM addresses 0x20 through 0x2F can be seen in
Figure 58.
0x20 07 06 05 04 03 02 01 00
0F 0E 0D 0C 0B 0A 09 08
17 16 15 14 13 12 11 10
1F 1E 1D 1C 1B 1A 19 18
27 26 25 24 23 22 21 20
2F 2E 2D 2C 2B 2A 29 28
37 36 35 34 33 32 31 30
3F 3E 3D 3C 3B 3A 39 38
47 46 45 44 43 42 41 40
4F 4E 4D 4C 4B 4A 49 48
57 56 55 54 53 52 51 50
5F 5E 5D 5C 5B 5A 59 58
67 66 65 64 63 62 61 60
6F 6E 6D 6C 6B 6A 69 68
77 76 75 74 73 72 71 70
7F 7E 7D 7C 7B 7A 79 78
0x21
0x22
0x23
0x24
0x25
0x26
0x27
0x28
0x29
0x2A
0x2B
0x2C
0x2D
0x2E
0x2F
Byte Address
Bit Addresses (hexa)
Figure 58: Bit Addressable Area of General Purpose RAM
Bit addressing can be used for instructions that involve Boolean
variable manipulation and program branching—see the
Instruction set.
Special Function Registers:
Special Function Registers are
registers that affect the function of the 8051 core or its
peripherals. These registers are located in RAM with addresses
0x80 through 0xFF. They are only accessible through direct
addressing as shown in Figure 57 .
The individual bits of some of the SFRs can be accessed for use
in Boolean and program branching instructions. These SFRs are
labeled as bit-addressable and the bit addresses are given in the
SFR Mapping.
Extended Internal RAM (XRAM):
The ADE7169F16 provides
256 bytes of extended on-chip RAM. No external RAM is
supported. This RAM is located in addresses 0x0000 through
0x00FF in the Extended RAM space. To select the Extended
RAM memory space, the extended indirect addressing modes
are used. The internal XRAM is enabled in the Configuration
SFR (CFG, 0xAF) by writing 01 to CFG[1:0].
256 BYTES OF
EXTENDED INTERNAL
RAM (XRAM)
00h
FFh
Figure 59: Extended Internal RAM (XRAM) Space
Code Memory:
Code and data memory are stored in the
16kbyte Flash memory space. No external code memory is
supported. To access Code memory, Code Indirect addressing is
used.
ADDRESSING MODES
The 8052 core provides several addressing modes. The
addressing mode determines how the core will interpret the
memory location or data value specified in assembly language
code. There are six addressing modes as shown in Table 59:
Table 59. 8052 Addressing Modes
Addressing
Mode
Example
Bytes
Core Clock
Cycles
Immediate
MOV A, #A8h
MOV DPTR,#A8h
2
3
2
3
Direct
MOV A, A8h
MOV A, IE
MOV A, R0
2
2
1
2
2
1
Indirect
MOV A,@R0
1
2
Extended
Direct
MOVX A, @DPTR
1
4
Extended
Indirect
MOVX A, @R0
1
4
Code
Indirect
MOVC A, @A+DPTR
MOVC A, @A+PC
JMP @A+DPTR
1
1
1
4
4
3
Immediate Addressing:
In Immediate Addressing, the
expression entered after the number sign (#) will be evaluated
by the assembler and stored in the memory address specified.