TITLE 'COPY A TO B WITH COPY SUBROUTINE USING MACROS'
MACRO
COPY &ARRAY1,&ARRAY2,&LENGTH
LA 1,&ARRAY1
ST 1,CCB&SYSNDX
LA 1,&ARRAY2
ST 1,CCB&SYSNDX+4
L 1,&LENGTH
ST 1,CCB&SYSNDX+8
LA 1,CCB&SYSNDX
BAL 5,COPY
B CCBA&SYSNDX BRANCH AROUND THE COPY CONTROL BLOCK
DS 0F
CCB&SYSNDX EQU *
DS 3F
CCBA&SYSNDX EQU *
MEND
*
*
P1 START
BALR 12,0
USING *,12
COPY A,B,=A(ALEN)
BR 14
EJECT
COPY EQU *
* CCB CONTAINS FIRST ADDR, SECOND ADDR, NO. OF FULLWORDS
* +0 +4 +8
* R1 = CCB ON ENTRY
L 2,0(0,1) R2=FIRST ADDR
L 3,4(0,1) R3=SECOND ADDR
L 4,8(0,1) R4=# OF EACH
SR 9,9
COPY1 EQU *
CR 9,4
BE COPY2
L 6,0(0,2)
ST 6,0(0,3)
A 2,=F'4'
A 3,=F'4'
A 9,=F'1'
B COPY1
COPY2 EQU *
BR 5 COPY ENDS
*
A DC F'1',F'2',F'3',F'4'
ALEN EQU (*-A)/4
DC F'-1'
B DS 10F
END