Well, as I said, the HLASM manual says that immediate operands must be absolute expressions, so end of story it seems. OTOH LARL handles both relative and external, if not functionally exactly the same. (My point was actually that you can't put A(), V(), F' ' etc. into an expression, they are not self-defining terms, like C' ', B' ', X' '.)
-----Ursprüngliche Nachricht----- Von: IBM Mainframe Assembler List [mailto:[email protected]] Im Auftrag von Robert A. Rosenberg Gesendet: Dienstag, 19. November 2013 01:37 An: [email protected] Betreff: Re: Relative Branches / IBM macros At 09:38 +0000 on 11/18/2013, David Stokes wrote about Re: Relative Branches / IBM macros: >Peter Relson wrote: For LLILF I would have said no since the LLILF >operand is an "immediate". > >Well, I don't agree. Immediate operands are absolute expressions. >Witness the fact that you get the "Symbol A undefined" error just the >same writing say > > CLI label,A(123) > >(or AL1 for that matter), whereas LLILF clearly recognizes the symbol >as being external/relocatable, but doesn't like that. It happily >accepts say > >XX DS 0H > > ...... > > LLILF R15,XX-* > >(whatever sense that might make). I think it is choking on the symbol being an external not just a relocatable. The latter it can compute. It might be interesting to see what happens if XX is in a different CSECT from the LLILF (ie: Will it accept it and adjust for the fact that the offset to the CSECT is unknown until Bind Time - you know the offset in the assembly but the Binder may move the 2 CSECTs apart).
