is there an optimization level that will do no, nada, none "code packing" and STILL overlay variables. it sems that after some release when opt lev 2 became required for variable overlay it is impossible to debug without having to do "strange things" to breakpoint one of 2 similar routines. Erik
The idea is that each Optimisation Level includes all optimisations from lower Levels - So Level 2 (Data Overlaying) should include Dead Code Elimination & Jump Negation (Level 1) plus Constant Folding, Simple Access Optimising, and Jump OPtimising (Level 0) http://www.keil.com/support/man/docs/c51/c51_optimize.htm Do any of those account for the "problems" you are seeing?