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),Label2The 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é]
