You are on page 1of 3

MAINPGM CSECT

YREGS
STM 14,12,12(13)
BALR 12,0
USING *,12
ST R13,SAVE+4
LA R11,SAVE
ST R11,8(R13)
LR R13,R11
*
STARTC L R15,=V(SUBPGM2)
LA R1,PARMLIST
OI PARMLIST+8,X'80'
BALR 14,15
*
L R2,0(R1)
LM R8,R9,0(R2)
*
CVD R8,BCD
UNPK VAR1,BCD
OI VAR1+9,X'F0'
*
CVD R9,BCD
UNPK VAR2,BCD
OI VAR2+9,X'F0'
OPEN (PRINTER,(OUTPUT))
PUT PRINTER,MSGX
CLOSE (PRINTER)
B EXIT
*
EXIT L R13,SAVE+4
LM 14,12,12(13)
SR 15,15
BR 14
*
SAVE DC 18F'0'
BCD DS D
A DC F'7'
B DC F'4'
C DC F'0'
PARMLIST DC A(A,B,C)
MSG1 DC AL2(L'MSGX)
MSGX DS 0CL80
DC CL35'RETURN FROM SUBPGM2'
VAR1 DS CL10
DC CL5' '
VAR2 DS CL10
DC CL10' '
PRINTER DCB DSORG=PS,MACRF=(PM),DDNAME=PRINT,RECFM=FB, X
LRECL=80
END MAINPGM

SUBPGM2 CSECT
YREGS
STM 14,12,12(13)
BALR R10,0
USING *,10
ST R13,SUBSAVE+4
LA R11,SUBSAVE
ST R11,8(13)
LR R13,11
*
L R2,0(R1)
LM R3,R5,0(R2)
*
OPEN (PRINTER,(OUTPUT))
*
CVD R3,BCD
UNPK OUTA,BCD
OI OUTA+9,X'F0'

CVD R4,BCD
UNPK OUTB,BCD
OI OUTB+9,X'F0'

CVD R5,BCD
UNPK OUTC,BCD
OI OUTC+9,X'F0'
*
AR R3,R4 R3=A+B

ST R3,C LOAD TO PARMSUB C=11

*
CVD R3,BCD
UNPK SUM,BCD
OI SUM+9,X'F0'
*
PUT PRINTER,HEADER1
PUT PRINTER,LINE
CLOSE (PRINTER)
*
L R13,SUBSAVE+4
LM 14,12,12(13)
BR 14
*
A DS F
C DS F
PARMSUB DC A(A,C)
SUBSAVE DC 18F'0'
BCD DS D
HEADER1 DS 0CL85
DC CL25' '
DC CL10' SUM '
DC CL5' '
DC CL10'VAR A '
DC CL5' '
DC CL10'VAR B '
DC CL5' '
DC CL10'VAR C '
DC CL5' '

LINE DS 0CL80
DC CL5' '
DC C'THE SUM IS'
DC CL5' '
SUM DS CL10
DC CL5' '
OUTA DS CL10
DC CL5' '
OUTB DS CL10
DC CL5' '
OUTC DS CL10
DC CL5' '

PRINTER DCB DSORG=PS,MACRF=(PM),DDNAME=PRINT,RECFM=FB, X


LRECL=80
END SUBPGM2

You might also like