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

lost DATA space

for this:

IDATA 0010H 000CH UNIT ?ID?SMAIN
001CH 0004H *** GAP ***
....
DATA 0056H 0022H UNIT ?DT?SMAIN
IDATA 0078H 0001H UNIT ?STACK

I am losing 16 bytes of the precious commodity DATA storage. Does anyone know of a way to get DATA in the 10-1f slot?. (I have enough globals, that I can use it for globals if that makes it doable).

cross posted on 8052

Erik

Parents
  • You didn't loose data from 0x10 to 0x1F. MAIN declared an IDATA block of 12 bytes and the linker put that in the data space. If you had some DATA in small chunks that could be sandwiched in the 16 bytes, the linker would have put them at location 0x10.

    I have found that having each module declare its own global variables rather than getting them all collected into MAIN, the linker has a much easier time and can do a better job.

Reply
  • You didn't loose data from 0x10 to 0x1F. MAIN declared an IDATA block of 12 bytes and the linker put that in the data space. If you had some DATA in small chunks that could be sandwiched in the 16 bytes, the linker would have put them at location 0x10.

    I have found that having each module declare its own global variables rather than getting them all collected into MAIN, the linker has a much easier time and can do a better job.

Children
No data