 | 8051 Instruction Set Manual |  |
|
|
| 251 ArchitectureThe 251 architecture is a superset of the classic 8051 architecture. The 251 is the most advanced variant and provides the following key features: - Completely code compatible with the standard 8051 microcontroller.
- Powerful 8/16/32 bit instructions and flexible 8/16/32 bit registers.
- 16MB linear address space and CPU support for 16-bit and 32-bit pointers.
- True stack-oriented instructions with 16-bit stack pointer.
The following table shows the memory classes used for programming a 251 microcontroller. These memory classes are available when you are using the A251 macro assembler and the L251 linker/locater. | Memory Class | Address Range | Description |
|---|
| DATA | 00:0000 00:007F | Direct addressable on-chip RAM. | | BIT | 00:0020 00:002F | 8051 compatible bit-addressable RAM; can be accessed with short 8-bit addresses. | | IDATA | 00:0000 00:00FF | Indirect addressable on-chip RAM; can be accessed with @R0 or @R1. | | EDATA | 00:0000 – 00:FFFF | Extended direct addressable memory area; can be accessed with direct 16-bit addresses available on the 251. | | ECONST | 00:0000 – 00:FFFF | Same as EDATA - but allows the definition of ROM constants. | | EBIT | 00:0020 00:007F | Extended bit-addressable RAM; can be accessed with the extended bit addressing mode available on the 251. | | XDATA | 01:0000 – 01:FFFF (default space) | 8051 compatible DATA space. Can be mapped on the 251 to any 64 KB memory segment. Accessed with MOVX instruction. | | HDATA | 00:0000 – FF:FFFF | Full 16 MB address space of the 251. Accessed with MOV @DRK instructions. This space is used for RAM areas. | | HCONST | 00:0000 – FF:FFFF | Same as HDATA - but allows the definition of ROM constants. | | ECODE | 00:0000 – FF:FFFF | Full 16 MB address space of the 251; executable code accessed with ECALL or EJMP instructions. | | CODE | FF:0000 - FF:FFFF (default space) | 8051 compatible CODE space; used for executable code or RAM constants. Can be located with L251 to any 64 KB segment. | | CONST | FF:0000 – FF:FFFF (default space) | Same as CODE – but can be used for ROM constants only. |
Colons are used to improve the readability only. The addresses are entered in the tools as numbers without the colon. |
|