I follow the Keil segment naming conventions when writing my assembler subroutines in order to "imitate" what I would obtain if I had coded those functions in C and to take advantage of the overlaying. Now, I get the data segments correctly overlaid (that means the assembler is able to know which symbolic names -variables- are associated to each code segment -function-), but I can not have those symbolic names to be interpreted as "local variables" by the debugger (I mean, they do not appear automatically in the "Locals" window). For example: ?DT?_INICIALIZAR_INSERCIONES?SECCIAL SEGMENT DATA OVERLAYABLE RSEG ?DT?_INICIALIZAR_INSERCIONES?SECCIAL VIdInsert_IS :DS 1 VIdLinea_IS :DS 1 ; ?PR?_INICIALIZAR_INSERCIONES?SECCIAL SEGMENT CODE RSEG ?PR?_INICIALIZAR_INSERCIONES?SECCIAL _Inicializar_inserciones: ; ... (etc) Could anybody give me a hint? Thanks.
The Assembler does not support symbolc scoping (and therefore you will never see local variables in an watch window when you write assembly code). For more information about data overlaying with assembly refer to: http://www.keil.com/appnotes/docs/apnt_149.asp Reinhard
The Assembler does not support symbolc scoping Now we get the answer to a question I have asked for years. Thanks, Erik PS, if there is a way to make the Assembler support symbolc scoping, please make it so. These days your "simple" code is in C and since it is "simple" fairly easy to debug. But when you have, for timinmg reasons, to write something complex in assembler the debugger leaves you stranded.