??? 06/10/10 11:07 Read: times |
#176582 - DPTR problems |
I am using a ADuC841 with 8052 core. I have an extended external memory interface to 16MB as supported by the device. I am using the 3 register DPTR (standard DPL and DPH with a page byte DPP) in order to adress that memory space.
The device datasheet clearly states that the DPP register is incremented when DPTR rolls over. The 8052 instruction set states that the C flag is NOT set when DPTR (or indeed ACC) rolls over. I take this to mean that C is cleared. In my simluations (Keil uVision4), for some reason when I rollover my data pointer (i.e. INC from 0xFFFF to 0x0000) there is no increment of the DPP page byte. My simulations show no effect on C when DPTR rolls over from 0xFFFF to 0x0000, or indeed when ACC rolls over from 0xFF to 0x00. Should C be cleared or am I mistaken in my understanding? Do I need to somehow declare my extended memory interface in uVision for it to properly use the 3 register DPTR? Or is there some other silly omission on my part? Any help of advice would be greatly appreciated... |
Topic | Author | Date |
DPTR problems | 01/01/70 00:00 | |
HDATA definition | 01/01/70 00:00 | |
It is possible that... | 01/01/70 00:00 | |
Faulty - or incomplete | 01/01/70 00:00 | |
If that's not a fault, then what is? | 01/01/70 00:00 | |
Doing exactly what it says on the tin. | 01/01/70 00:00 | |
OK ... I'll give you that one![]() | 01/01/70 00:00 |