We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi All,
I wrote the follwing:
char far *fp;
fp = (long) 0x1e00a5; *fp = 0x89; tmp = *fp;
expecting to see value 0x89 at far address 0x1e00a5.
on the debugger >D X:0x1e00a5 results 0.
The assembler : ; fp = (long) 0x1e00a5; ; SOURCE LINE # 20 MOV R3,#01EH MOV R2,A MOV R1,#0A5H ;---- Variable 'fp?045' assigned to Register 'R1/R2/R3' ---- ; *fp = 0x89; ; SOURCE LINE # 21 MOV A,#089H LCALL ?C?CSTPTR I expected CSTXPTR with long DPTR MOVX instead I got:
CSTPTR with MOVC What I’m doing wrong ??
You should specify the target device that you are using along with the compiler switches.
I looks like you have not used the VARBANKING compiler switch: http://www.keil.com/support/man/docs/c51/c51_varbanking.htm.