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
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.