Hello everybody!. I programming in ASM51 in Keil tool with LX51. I have some problems with understanding memory model on C8051F00x device. If not difficult to prompt me: 1.I understand that CODE and XDATA memory space share the same memory space (0x0000 - 0x7FFF for C8051F005).Please explain me. Yes or no?? 2.I have problem with locate my static variable in XDATA memory. Ex:
XD_VARs SEGMENT XDATA AT 4000h rseg XD_VARs test_var : db 0x00,0x00
after build i get a variable placing in CODE memory segment(C:004000h) and readable by movc A,@A+DPTR instruction, when i try to read this variable by movx instr. i get some value locating in XDATA memory segment (at X:004000h). I also try to use absolute segment XSEG but this led to same results, and i not understand: if CODE and XDATA share same memory space, as one and the same address can be different values. How locate variable in XDATA space. Value i memory space i can see in memory window in Keil tool. 3.I understand that this is a problem is LX51. how to explain to him where some memory is ??.
Thank you for any help.