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

Memory declaration problem

How come there is obviously space (gap) in the memory, but when I declare the Test[10] between the 0x34 and 0x62 the program kept saying overlap and address overflow.

IDATA 0029H 000BH UNIT ?ID?XXACT_H 0034H 002FH *** GAP *** IDATA 0063H 0001H ABSOLUTE 0064H 0004H *** GAP *** IDATA 0068H 000AH ABSOLUTE 0072H 0001H *** GAP *** IDATA 0073H 0002H ABSOLUTE

unsigned char idata Test[10] _at_ 0x34; //new declare
unsigned char idata Name[10] _at_ 0x68;
unsigned int idata TestCH _at_ 0x73;

help~!

Parents
  • by the way...
    I have two version of the program
    #1 has less code and less variables used
    #2 lot more code and more variables used

    however...
    in program #1 Name is declared as:
    unsigned char idata Name[10] _at_ 0x68;

    in program #2 is declared as
    unsigned char idata Name[10] _at_ 0x62;

    and when i tried to change the 68 to 62 in program #1... it overflows again...
    WHY? HOW!
    can somebody please direct me to where I can find the answers???????

Reply
  • by the way...
    I have two version of the program
    #1 has less code and less variables used
    #2 lot more code and more variables used

    however...
    in program #1 Name is declared as:
    unsigned char idata Name[10] _at_ 0x68;

    in program #2 is declared as
    unsigned char idata Name[10] _at_ 0x62;

    and when i tried to change the 68 to 62 in program #1... it overflows again...
    WHY? HOW!
    can somebody please direct me to where I can find the answers???????

Children