On 2012-05-16 12:39, John Ehrman wrote:
"Retired mainframer" noted:

I must be missing something obvious.  Why not simply

              MACRO
      &Lab    MVC2&Target,&Source
      &Lab    MVC&Target(L'&Source-1),&Source
              MEND

or avoid the macro completely with

       &Lab   MVC      Label1(L'Label2-1),Label2
The reason for the more complex macro is that the source operand may have
been encountered by the assembler for the first time in the MVC
instruction, and not yet appear in the symbol table with all attributes
assigned (particularly, length), so the L' reference might fail. (This can
happen easily with literal operands.) The purpose of the LA instruction in
the macro is to force the&Source operand into the symbol table in case
it's not there already.

See? I've been dealing with IBM assembler for over 3 decades, and HLASM
since its initial publication. And there is still much for me to learn!

Thanks for this tip, John!

--
M. Ray Mullins
Roseville, CA, USA
http://www.catherdersoftware.com/

German is essentially a form of assembly language consisting entirely of far 
calls heavily accented with throaty guttural sounds. ---ilvi
French is essentially German with messed-up pronunciation and spelling.  
--Robert B Wilson
English is essentially French converted to 7-bit ASCII.  ---Christophe Pierret 
[for Alain LaBonté]

Reply via email to