The SFR area is between 0x80 and 0xFF, also the Upper RAM area is between 0x80 and 0xFF. I can access the SFR using direct addressing and the Upper RAM using indirect addressing. My question: are the SFR and Upper RAM physically 2 different memorys? If I use all of the SFR registers can I also use the Upper RAM memory (both have the same address area)? (overwrite data) data crash? Thanks
MOVX selects XDATA memory from address 0 to 0xFFFF ... and just in case you were wondering where PDATA fits into all this: MOVX @DPTR gets its 16-bit (0..FFFF) XDATA address from the DPTR; MOVX @R0 or MOVX @R1 gets the low 8-bits (0..FF) R0 (or R1), and the high 8-bits from P2 - this is known as PDATA ('P' for "Paged") Thus PDATA and XDATA are not inherently separate memory spaces.
Shh. Don't bring up pdata. That's our little secret :-). - Mark
The next thing I know, you guys will be talking about SMALL memory model and moving big variables and buffers into XDATA. Jon