8051 Architectural Specification and Functional Description
The
Functionally the Internal Data Memory is the most flex- ible of the address spaces. The Internal Data Memory space is subdivided into a
|
|
| SPECIAL |
|
| |
|
|
| FUNCTION |
|
| |
INTERNAL DATA RAM | REGISTERS |
|
| |||
( | A |
|
| |||
|
| 255 | 255 | 248 | F8H |
|
255 |
|
|
|
| FOH |
|
|
|
|
|
| E8H |
|
|
|
|
|
| EOH |
|
|
|
|
|
| D8H |
|
|
|
|
|
| DOH |
|
|
|
|
|
| C8H | ADDRESS- |
|
|
|
|
| ABLE | |
|
|
|
|
| COH | |
|
|
|
|
| BITS IN | |
|
|
|
|
| B8H | |
|
|
|
|
| SFRs | |
|
|
|
|
| BOH | |
|
|
|
|
| (128 BITS) | |
|
|
|
|
| A8H |
|
|
|
|
|
| AOH |
|
|
|
|
|
| 98H |
|
|
|
|
|
| 90H |
|
|
|
|
|
| 88H |
|
|
| 128 | 135 | 128 | 80H |
|
128 |
|
|
|
| ||
|
| 127 |
|
|
|
|
| 48 |
|
|
|
|
|
ADORE55- | - | 127 | 120 |
|
|
|
|
|
|
| |||
ABLE |
|
|
|
| ||
BITS IN |
|
|
|
|
|
|
RAM | 32 | 7 | 0 |
|
|
|
(128 BITS) |
|
|
| |||
|
| R7 |
|
|
|
|
| 24 | BANK 3 |
|
|
| |
| RO |
|
|
|
| |
| - | R7 |
|
|
|
|
| 16 | BANK 2 |
|
|
| |
REGISTERS | RD |
|
|
|
| |
| R7 |
|
|
|
| |
|
|
|
|
|
| |
| 8 | BANK 1 |
|
|
| |
| RO |
|
|
|
| |
|
| R7 |
|
|
|
|
| 0 | BANKO |
|
|
| |
| RO |
|
|
|
|
~
INTERNAL SPECIAL FUNCTION
DATA RAM REGISTERS
Figure 2.12. Internal Data Memory
Address Space
The Internal Data RAM address space is 0 to 255. Four
The stack depth is limited only by the available Internal Data RAM, thanks to an
12
Register accessible through Direct Addressing can be pushed Ipopped.
The Special Function Register address space is 128 to 255. All registers except the Program Counter and the four
ARITHMETIC REGISTERS: ACCumulator*, B register*, Program Status Word*
POINTERS:
Stack Pointer, Data Pointer (high & low)
PARALLEL I/O PORTS:
Port 3*, Port 2*, Port 1*, Port 0*
INTERRUPT SYSTEM: Interrupt Priority Control*, Interrupt Enable Control*
TIMERS:
Timer MODe, Timer CONtrol*, Timer 1 (high & low), Timer 0 (high & low)
SERIAL 1/0 PORT:
Serial CONtrol*, Serial data BUFfer
*Bits in these registers are bit addressable
Figure 2.13. Special Function Registers
Performing a read from a location of the Internal Data Memory where neither a byte of Internal Data RAM (i.e. RAM addresses
Architecturally,
2.4 OPERAND ADDRESSING
There are five methods of addressing source operands. They are Register Addressing, Direct Addressing,