The example I illustrated with the macro does not appear to have the overflow issue that Robert mentions ... at least, not with the z390 assembler. A slightly modified example (with LHI instead of LA) follows:
Assembler Listing 000000 (1/1)1 MACRO 000000 (1/2)2 &L WIPE &DEST,&FILL 000000 (1/3)3 &L LA 0,&DEST 000000 (1/4)4 LHI 1,L'&DEST 000000 (1/5)5 LFI 2,&FILL*X'1000000' 000000 (1/6)6 MVCL 0,2 000000 (1/7)7 MEND 000000 (1/9)8 MAIN CSECT 000000 (1/10)9 USING MAIN,15 LISTUSE MAIN ESD=0001 LOC=00000000 LEN=01000 REG=F OFF=00000 LAB= 000000 (1/12)10 WIPE BUF,C'A' 000000 4100F010 000010 (1/3)11+ LA 0,BUF 000004 A7180200 (1/4)12+ LHI 1,L'BUF 000008 C029C1000000 000000 (1/5)13+ LFI 2,C'A'*X'1000000' 00000E 0E02 (1/6)14+ MVCL 0,2 000010 (1/14)16 BUF DS CL512 000210 (1/15)17 END (It would be really swell if the Assembler List knew about a fixed-width font for such examples.)