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 could adjust the bit area up in memory (rather than from 20-2f) to 2A-2F. That would make the gap grow by 10 more bytes. The linker could then fit a a larger segment into the gap. a VERY cumbersome workaround, it would "blow up in your face when you added a few variables that happened to go in the segment that you made room for by moving the bit data up. I rallly think this is an issue Keil should consider "fixing" since DATA space is the most precious commodity in the '51. For now I'll stick with the workaround I found of declaring some "well known and stable" DATA variables in a separate segment in assembler. Erik