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 C082            00084    21          ST    1,A
00000A 5820 C0C6            000C8    22          L     2,F2
00000E 5020 C086            00088    23          ST    2,B
                                     24 * NOW LOAD UP PARAMETER CONTROL BLOCK
000012 5810 C082            00084    25          L     1,A
000016 5010 C0A2            000A4    26          ST    1,PCB+0
00001A 5810 C086            00088    27          L     1,B
00001E 5010 C0A6            000A8    28          ST    1,PCB+4
000022 4110 C08A            0008C    29          LA    1,C
000026 5010 C0AA            000AC    30          ST    1,PCB+8
00002A 4110 C0A2            000A4    31          LA    1,PCB
                                     32 * NOW WE CAN  ACTUALLY CALL THE SUBROUTINE
00002E 4550 C0AE            000B0    33          BAL   5,BLAH
                                     34 * BACK FROM SUBROUTINE
000032 5810 C0CA            000CC    35          L     1,F6
000036 5010 C092            00094    36          ST    1,E
                                     37 * NOW LOAD UP PARAMETER  CONTROL BLOCK
00003A 5810 C092            00094    38          L     1,E
00003E 5010 C0A2            000A4    39          ST    1,PCB+0
000042 5810 C08A            0008C    40          L     1,C
000046 5010 C0A6            000A8    41          ST    1,PCB+4
00004A 4110 C096            00098    42          LA    1,F
00004E 5010 C0AA            000AC    43          ST    1,PCB+8
000052 4110 C0A2            000A4    44          LA    1,PCB
         SUBROUTINE WITH PARAMETERS
  LOC  OBJECT CODE    ADDR1 ADDR2  STMT   SOURCE STATEMENT
                                     46 * NOW WE CAN  ACTUALLY CALL THE SUBROUTINE
000056 4550 C0AE            000B0    47          BAL   5,BLAH
                                     48 * BACK FROM SUBROUTINE
00005A 5810 C0CE            000D0    49          L     1,F7
00005E 5010 C09A            0009C    50          ST    1,G
                                     51 * NOW LOAD UP PARAMETER CONTROL BLOCK
000062 5810 C09A            0009C    52          L     1,G
000066 5010 C0A2            000A4    53          ST    1,PCB+0
00006A 5810 C096            00098    54          L     1,F
00006E 5010 C0A6            000A8    55          ST    1,PCB+4
000072 4110 C09E            000A0    56          LA    1,H
000076 5010 C0AA            000AC    57          ST    1,PCB+8
00007A 4110 C0A2            000A4    58          LA    1,PCB
                                     59 * NOW WE CAN  ACTUALLY CALL THE SUBROUTINE
                                     60 *
00007E 4550 C0AE            000B0    61          BAL   5,BLAH
000082 07FE                          62          BR    14
                                     63 *
000084                               64 A        DS    F
000088                               65 B        DS    F
00008C                               66 C        DS    F
000090                               67 D        DS    F
000094                               68 E        DS    F
000098                               69 F        DS    F
00009C                               70 G        DS    F
0000A0                               71 H        DS    F
0000A4                               72 PCB      DS    3F  PARAMETER CONTROL BLOCK FOR BLAH
                                     73 *             FIRST WORD (+0) CONTAINS FIRST THING TO ADD
                                     74 *             SECOND WORD (+4) CONTAINS SECOND THING TO ADD
                                     75 *             THIRD WORD (+8) CONTAINS ADDRESS OF PLACE TO PUT
                                     76 *                                                      ANSWER
                            000B0    77 BLAH     EQU   *
                                     78  *  oN ENTRY R1 CONTAINS ADDRESS OF PARAMETER CONTROL BLOCK
0000B0 5840 1000            00000    79          L     4,0(0,1)
0000B4 5A40 1004            00004    80          A     4,4(0,1)   R4 NOW CONTAINS THE SUM
0000B8 5820 1008            00008    81          L     2,8(0,1)   R2 NOW CONTAINS ADDRESS OF PLACE TO PUT SUM
0000BC 5040 2000            00000    82          ST     4,0(0,2)  STORE SUM
0000C0 07F5                          83          BR     5         BLAH ENDS
                                     84 * END OF YOUR PROGRAM
                                     85 * CONSTANTS
0000C2 0000
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