8051 Instruction Set Manual

Classic 8051

The following table shows the memory classes used for programming the classic 8051 architecture. These memory classes are available when you are using the A51 macro assembler and the BL51 linker/locater.

Memory ClassAddress RangeDescription
DATAD:00 – D:7FDirect addressable on chip RAM.
BITD:20 – D:2Fbit addressable RAM; accessed bit instructions.
IDATAI:00 – I:FFIndirect addressable on chip RAM; can be accessed with @R0 or @R1.
XDATAX:0000 – X:FFFF64 KB RAM (read/write access). Accessed with MOVX instruction.
CODEC:0000 – C:FFFF64 KB ROM (only read access possible). Used for executable code or constants.
BANK 0
… BANK 31
B0:0000 – B0:FFFF
B31:0000 – B31:FFFF
Code Banks for expanding the program code space to 32 x 64KB ROM.

 

  • The memory prefix D: I: X: C: B0: .. B31: cannot be used at Ax51 assembler or BL51 linker/locater level. The memory prefixes are only listed for better understanding. Several Debugging tools, for example the µVision Debugger, are using memory prefixes to identify the memory class of the address.