COPY A TO B WITH COPY SUBROUTINE USING MACROS
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
2 MACRO
3 COPY &ARRAY1,&ARRAY2,&LENGTH
4 LA 1,&ARRAY1
5 ST 1,CCB&SYSNDX
6 LA 1,&ARRAY2
7 ST 1,CCB&SYSNDX+4
8 L 1,&LENGTH
9 ST 1,CCB&SYSNDX+8
10 LA 1,CCB&SYSNDX
11 BAL 5,COPY
12 B CCBA&SYSNDX BRANCH AROUND THE COPY CONTROL BLOCK
13 DS 0F
14 CCB&SYSNDX EQU *
15 DS 3F
16 CCBA&SYSNDX EQU *
17 MEND
18 *
19 *
000000 20 P1 START
000000 05C0 21 BALR 12,0
00002 22 USING *,12
23 COPY A,B,=A(ALEN)
000002 4110 C062 00064 24+ LA 1,A
000006 5010 C026 00028 25+ ST 1,CCB0001
00000A 4110 C076 00078 26+ LA 1,B
00000E 5010 C02A 0002C 27+ ST 1,CCB0001+4
000012 5810 C09E 000A0 28+ L 1,=A(ALEN)
000016 5010 C02E 00030 29+ ST 1,CCB0001+8
00001A 4110 C026 00028 30+ LA 1,CCB0001
00001E 4550 C034 00036 31+ BAL 5,COPY
000022 47F0 C032 00034 32+ B CCBA0001 BRANCH AROUND THE COPY CONTROL BLOCK
000028 33+ DS 0F
00028 34+CCB0001 EQU *
000028 35+ DS 3F
00034 36+CCBA0001 EQU *
i000034 07FE 37 BR 14
COPY A TO B WITH COPY SUBROUTINE USING MACROS
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
00036 39 COPY EQU *
40 * CCB CONTAINS FIRST ADDR, SECOND ADDR, NO. OF FULLWORDS
41 * +0 +4 +8
42 * R1 = CCB ON ENTRY
000036 5820 1000 00000 43 L 2,0(0,1) R2=FIRST ADDR
00003A 5830 1004 00004 44 L 3,4(0,1) R3=SECOND ADDR
00003E 5840 1008 00008 45 L 4,8(0,1) R4=# OF EACH
000042 1B99 46 SR 9,9
00044 47 COPY1 EQU *
000044 1994 48 CR 9,4
000046 4780 C060 00062 49 BE COPY2
00004A 5860 2000 00000 50 L 6,0(0,2)
00004E 5060 3000 00000 51 ST 6,0(0,3)
000052 5A20 C0A2 000A4 52 A 2,=F'4'
000056 5A30 C0A2 000A4 53 A 3,=F'4'
00005A 5A90 C0A6 000A8 54 A 9,=F'1'
00005E 47F0 C042 00044 55 B COPY1
00062 56 COPY2 EQU *
000062 07F5 57 BR 5 COPY ENDS
58 *
000064 0000000100000002 59 A DC F'1',F'2',F'3',F'4'
00004 60 ALEN EQU (*-A)/4
000074 FFFFFFFF 61 DC F'-1'
000078 62 B DS 10F
63 END
0000A0 00000004 64 =A(ALEN)
0000A4 00000004 65 =F'4'
0000A8 00000001 66 =F'1'