TITLE 'DEMONSTRATE MACRO WITH MOVE BYTE MACRO'
MACRO
MOVE &A,&B,&LENGTHA,&LENGTHB
.* MOVES A TO B, ASSUMES REGISTERS 0-4 ARE AVAILABLE
L 0,&LENGTHA
C 0,&LENGTHB
BC 4,IF&SYSNDX
L 0,&LENGTHB
IF&SYSNDX EQU *
LA 1,&A
LA 2,&B
SR 3,3
L1&SYSNDX EQU *
CR 3,0
BE L2&SYSNDX
IC 4,0(0,1)
STC 4,0(0,2)
A 3,=F'1'
A 2,=F'1'
A 1,=F'1'
B L1&SYSNDX
L2&SYSNDX EQU *
MEND
*
*
P1 START
BALR 12,0
USING *,12
* YOUR PROGRAM GOES HERE
MOVE A,B,=A(ALENGTH),=A(BLENGTH)
MOVE C,D,=A(CLENGTH),DLENGTH
BR 14
*
A DC C'ABC'
ALENGTH EQU *-A
TEST DC C'QQQQ'
B DS 10C
BLENGTH EQU *-B
C DC C'ABCDEFGHIJ'
CLENGTH EQU *-C
D DS 3C
DLENGTH DC F'3'
END