Because it's an error, that's why. In the first line you tell the assembler "X means this location." In the second line you tell the assembler "X means THIS location." Well, which is it? The assembler is telling you you're confused, and it's an error.
Believe me, you do not want the opposite behavior. In a time long ago and far away I used an assembler (IV Phase, if you must know) that did exactly that, treating a duplicated symbol silently as a redefinition. (It also treated undefined symbols as EXTRNs, kicking the can down the road to the linker.) It was Hell! Trust me, you do NOT want that behavior. You do NOT want to spend four hours debugging "why when I branch to X does it not go where I want it to?" Charles -----Original Message----- From: IBM Mainframe Assembler List [mailto:ASSEMBLER-LIST@LISTSERV.UGA.EDU] On Behalf Of João Reginato Sent: Tuesday, April 30, 2024 7:28 PM To: ASSEMBLER-LIST@LISTSERV.UGA.EDU Subject: RES: ASMA043E Previously defined symbol Importance: Low It´s very simple: X MVC A,B X MVC B,A Where X is duplicated but never referenced -----Mensagem original----- De: Steve Thompson <ste...@wkyr.net> Enviada em: terça-feira, 30 de abril de 2024 23:11 Para: jb.regin...@gmail.com; ASSEMBLER-LIST@LISTSERV.UGA.EDU Assunto: Re: ASMA043E Previously defined symbol I suggest you show us a snippet of code so we can see how you are re-defining a variable/symbol. Steve Thompson On 4/30/2024 5:55 PM, João Reginato wrote: > Hi > > > > The message “ASMA043E Previously defined Symbol” is always issued when an > already defined field is redefined, even if it is not referenced, > > making the compiler end with error (return code 8). > > I see this situation as it was just a warning issue (with return code 4). > > Is there a reason for this behavior? > > > > TIA > > João > > > > > > > >