Hi all,
I have a question about ST10 user stack. In my linker file, I located it at 0xF0100, size x2000; so from 0xF0100 to 0xF20FF In my startup file, I can see the user stack init : MOV R0,#DPP2:?C_USERSTKTOP
... but since R0 is a 16 bit register, the value may be truncated... When I run the simulator, after this MOV instruction, the updated R0 value is 0xA100... My target works fine but I can't understand this 0xA100 value.
Could you explain me ?
Thanks a lot !
Pierre
PS : I am using a ST10F276
OK I found an explanation about DPP registers on this site. User stack is located in NEAR memory which is accessed using DDP2. Therefore I think my R0 value is understandable :
Stack located from 0xF0100 to 0xF20FF.
R0 Value : Hex : A 1 0 0 Bin : 1010 0001 0000 0000
so DPP is 10 (bit 15-14) which is DDP2. DPP2 contains 0x3C and 0x3C * 4 = 0xF0
Thanks to Keil Team for all this helpfull documentation !