I would like to know how can we control the size of the pointer that point to RAM area.
UByte *RamAdr;
hi, to control the size of pointer you should define the type of area which pointer shows on. For example:
unsigned char idata *RamAdr; //uses one byte for pointer (due MOV @Ri) unsigned char xdata *RamAdr; // uses two bytes (MOVX @DPTR) unsigned char *RamAdr; // uses three bytes
hi, as well remember that "banking" feature may change pointer size as well. Regards, Oleg
Thank you for your prompt reply. But can you eloborate more on how "banking" feature may change pointer size. Thank you very much.
Keil's pointer implementation is, of course, described in the Manual. Read it! It contains a full description of the internal data representations, calling conventions, etc.