SUBROUTINE WITH PARAMETERS
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
000000 2 P1 START
000000 05C0 3 BALR 12,0
00002 4 USING *,12
5 * ILLUSTRATE PARAMETERS WITHOUT USING IBM
6 * STANDARD CONVENTIONS. THIS IS TO REDUCE BULK OF PROGRAM
7 * a:=1
8 * B:=2
9 * CALL BLAH(A,B,C) c:=A+B
10 * E:=6
11 * CALL BLAH(E,C,F) F:=E+C
12 * G:=7
13 * CALL BLAH(G,F,H) H:=G+F
14 *
15 * BLAH: PROCEDURE (Q,R,VAR S)
16 * S:=Q+R
17 * END BLAH
18 * YOUR PROGRAM GOES HERE
19 *
000002 5810 C0C2 000C4 20 L 1,F1
000006 5010 C096 00098 21 ST 1,A
00000A 5820 C0C6 000C8 22 L 2,F2
00000E 5020 C09A 0009C 23 ST 2,B
24 * NOW LOAD UP PARAMETER CONTROL BLOCK
000012 5810 C096 00098 25 L 1,A
000016 5010 C0B6 000B8 26 ST 1,PCB+0
00001A 5810 C09A 0009C 27 L 1,B
00001E 5010 C0BA 000BC 28 ST 1,PCB+4
000022 4110 C09E 000A0 29 LA 1,C
000026 5010 C0BE 000C0 30 ST 1,PCB+8
00002A 4110 C0B6 000B8 31 LA 1,PCB
00002E 189C 32 LR 9,12
33 * NOW WE CAN ACTUALLY CALL THE SUBROUTINE
000030 58F0 C0D6 000D8 34 L 15,=V(BLAH)
000034 055F 35 BALR 5,15
000036 18C9 36 LR 12,9
37 * BACK FROM SUBROUTINE
000038 5810 C0CA 000CC 38 L 1,F6
00003C 5010 C0A6 000A8 39 ST 1,E
40 * NOW LOAD UP PARAMETER CONTROL BLOCK
000040 5810 C0A6 000A8 41 L 1,E
000044 5010 C0B6 000B8 42 ST 1,PCB+0
000048 5810 C09E 000A0 43 L 1,C
00004C 5010 C0BA 000BC 44 ST 1,PCB+4
000050 4110 C0AA 000AC 45 LA 1,F
000054 5010 C0BE 000C0 46 ST 1,PCB+8
i000058 4110 C0B6 000B8 47 LA 1,PCB
SUBROUTINE WITH PARAMETERS
LOC OBJECT CODE ADDR1 ADDR2 STMT SOURCE STATEMENT
49 * NOW WE CAN ACTUALLY CALL THE SUBROUTINE
00005C 189C 50 LR 9,12
00005E 58F0 C0D6 000D8 51 L 15,=V(BLAH)
000062 055F 52 BALR 5,15
000064 18C9 53 LR 12,9
54 * BACK FROM SUBROUTINE
000066 5810 C0CE 000D0 55 L 1,F7
00006A 5010 C0AE 000B0 56 ST 1,G
57 * NOW LOAD UP PARAMETER CONTROL BLOCK
00006E 5810 C0AE 000B0 58 L 1,G
000072 5010 C0B6 000B8 59 ST 1,PCB+0
000076 5810 C0AA 000AC 60 L 1,F
00007A 5010 C0BA 000BC 61 ST 1,PCB+4
00007E 4110 C0B2 000B4 62 LA 1,H
000082 5010 C0BE 000C0 63 ST 1,PCB+8
000086 4110 C0B6 000B8 64 LA 1,PCB
65 * NOW WE CAN ACTUALLY CALL THE SUBROUTINE
00008A 189C 66 LR 9,12
00008C 58F0 C0D6 000D8 67 L 15,=V(BLAH)
000090 055F 68 BALR 5,15
000092 18C9 69 LR 12,9
000094 07FE 70 BR 14
71 *
000098 72 A DS F
00009C 73 B DS F
0000A0 74 C DS F
0000A4 75 D DS F
0000A8 76 E DS F
0000AC 77 F DS F
0000B0 78 G DS F
0000B4 79 H DS F
0000B8 80 PCB DS 3F PARAMETER CONTROL BLOCK FOR BLAH
81 * FIRST WORD (+0) CONTAINS FIRST THING TO ADD
82 * SECOND WORD (+4) CONTAINS SECOND THING TO ADD
83 * THIRD WORD (+8) CONTAINS ADDRESS OF PLACE TO PUT
84 * ANSWER
85 * CONSTANTS
0000C4 00000001 86 F1 DC F'1'
0000C8 00000002 87 F2 DC F'2'
0000CC 00000006 88 F6 DC F'6'
0000D0 00000007 89 F7 DC F'7'
90 END
0000D8 00000000 91 =V(BLAH)
RELOCATION
DICTIONARY
POS.ID REL.ID FLAGS ADDRESS
0001 0002 1C 0000D8