This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

char xdata *pointer _at_ postion : absolute illegal specifier

Hi

Why does this declaration not work:
char xdata *pointer _at_ postion;

but this one works:
char xdata array[1] _at_ postion;

Should be theoretically the same, or not?

Thanks Egon

Parents
  • remember that there are two memory spaces to consider for a pointer
    here is my definitions, they should make it clear

                                                // pointer in data in
    #define U8DI  unsigned char   idata * data  // data       idata
    #define U8DX  unsigned char   xdata * data  // data       xdata
    #define U8IX  unsigned char   xdata * idata // idata      xdata
    #define U8XX  unsigned char   xdata * xdata // xdata      xdata
    #define U8IC  unsigned char   code  * idata // idata      code
    #define U8DC  unsigned char   code  * data  // data       code
    #define U8XC  unsigned char   code  * xdata // xdata      code
    #define U8CC  unsigned char   code  * code  // code       code
    

    note; no pointer point to DATA simply because that does not mak sense, there is no overhead from IDATA compared to DATA.

    Erik

Reply
  • remember that there are two memory spaces to consider for a pointer
    here is my definitions, they should make it clear

                                                // pointer in data in
    #define U8DI  unsigned char   idata * data  // data       idata
    #define U8DX  unsigned char   xdata * data  // data       xdata
    #define U8IX  unsigned char   xdata * idata // idata      xdata
    #define U8XX  unsigned char   xdata * xdata // xdata      xdata
    #define U8IC  unsigned char   code  * idata // idata      code
    #define U8DC  unsigned char   code  * data  // data       code
    #define U8XC  unsigned char   code  * xdata // xdata      code
    #define U8CC  unsigned char   code  * code  // code       code
    

    note; no pointer point to DATA simply because that does not mak sense, there is no overhead from IDATA compared to DATA.

    Erik

Children