For the equate case, I tend to code: &L SETA EQUATE AMOVE L=3D&L,S=3Dwhatever
This requires EQUATE be defined prior to the macro invocation. I use this in cases where the macro requires the actual value of the equate so it can do arithmetic tests and calculations on it to determine what instruction to generate. Robert Ngan CSC Financial Services Group IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> wrote on 2013/11/02 10:39:07: > From: "esst...@juno.com" <esst...@juno.com> > To: ASSEMBLER-LIST@LISTSERV.UGA.EDU > Date: 2013/11/02 10:58 > Subject: Some Help with Conditional Assembly > Sent by: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> > > I have a simple macro > > AMOVE &L=LENGTH,&S=SOURCE,&T=Target > L R15,&L .Length Of Move > ... > ... > MVCL Ra,Rb > MEXIT > MEND > > In a Macro I wish to generate 3 different instructions depending on > the value supplied for &L. > > If I specify AMOVE L=LENGTH > I want the macro to generate a LOAD Of a Full Word > L Rz,LENGTH > > LENGTH DS F > > If I Specify AMOVE L=32767 > I want the macro to generate a Load Addres > LA Rz,32767 > > If I specify AMOVE L=EQUATE > I want the macro to generate a Load Address of > LA Rz,EQUATE > > EQUATE EQI (*-BEGIN) > > > Could someone please provide an example as to how to test for > the conditions above in a Macro. > > Paul D'Angelo > *******************************