This is my first time using the open and put macro so I'm sure I'm overlooking something simple.
code snipit
MAIN CSECT
****************************************************************
* *
****************************************************************
* <1> * STANDARD ENTRY LINKAGE ***
STM R14,R12,12(R13)
LR R12,R15
USING MAIN,R12
LA R14,MAINSAVE
ST R13,4(,R14)
ST R14,8(,R13)
LR R13,R14
* <2> * OPEN DCBS AND VERIFY SUCCESSFUL OPENS
OPEN (QPRNT,(OUTPUT))
IF (LTR,R15,R15,NZ)
B SABEND1
ENDIF
* <3>* DRIVER **
ESPIE SET,ESPIEXT,(1,(5,7),9,13),PARAM=PARMLIST
*
* <> ***SET TIMER OPERATIONS*****
L R15,=V(TMREXIT)
STIMER TASK,(R15),BINTVL=INTV1
*
*
* <> * CLOSE DCBS AND EXIT
CLOSE (QPRNT)
* <> * Restore Registers and Return.
L R13,4(R13)
LM R14,R12,12(R13)
BR R14
LTORG
**************************************************
* STORAGE FOR MAIN *
**************************************************
MAINSAVE DS 18F
SABEND1 ABEND 100,DUMP
PARMLIST DC A(STRING,ADDR)
STRING DC C'EXIT'
ADDR DS A(0)
*
INTV1 DS F
DC X'00000BB8'
*****
*****
**************************************************
* TIMER EXIT ROUTINE *
**************************************************
TMREXIT CSECT
STM R14,R12,12(R13) SAVES ALL CALLING REGS EXCEPT R13
LR R12,R15 LOADS ADDRESS OF TMREXIT INTO R12
USING TMREXIT,R12 SETS R12 AS BASE REGISTER
LA R14,TSAVE WHERE REGISTERS ARE STORED WHEN CALL
ST R13,4(R14) BACKWARD POINTER STORED
ST R14,8(R13) FORWARD POINTER STORED
LR R13,R14 R13 POINTED TO BUILDS SAVE AREA
*
PUT QPRNT,TIMERPRNT
******BACK TO MAIN*************
L R13,4(R13) LOADS ADDRESS OF CALLING ROUTINE REGS
LM R14,R12,12(R13) LOADS REGISTERS
BR R14 RETURN CONTROL
**************************************************
* TIMER EXIT STORAGE *
**************************************************
*
LTORG
TSAVE DS 18F
TIMERPRNT DC CL17'Timer has expired'
****************************************************************
* *
****************************************************************
* <1> * STANDARD ENTRY LINKAGE ***
STM R14,R12,12(R13)
LR R12,R15
USING MAIN,R12
LA R14,MAINSAVE
ST R13,4(,R14)
ST R14,8(,R13)
LR R13,R14
* <2> * OPEN DCBS AND VERIFY SUCCESSFUL OPENS
OPEN (QPRNT,(OUTPUT))
IF (LTR,R15,R15,NZ)
B SABEND1
ENDIF
* <3>* DRIVER **
ESPIE SET,ESPIEXT,(1,(5,7),9,13),PARAM=PARMLIST
*
* <> ***SET TIMER OPERATIONS*****
L R15,=V(TMREXIT)
STIMER TASK,(R15),BINTVL=INTV1
*
*
* <> * CLOSE DCBS AND EXIT
CLOSE (QPRNT)
* <> * Restore Registers and Return.
L R13,4(R13)
LM R14,R12,12(R13)
BR R14
LTORG
**************************************************
* STORAGE FOR MAIN *
**************************************************
MAINSAVE DS 18F
SABEND1 ABEND 100,DUMP
PARMLIST DC A(STRING,ADDR)
STRING DC C'EXIT'
ADDR DS A(0)
*
INTV1 DS F
DC X'00000BB8'
*****
*****
**************************************************
* TIMER EXIT ROUTINE *
**************************************************
TMREXIT CSECT
STM R14,R12,12(R13) SAVES ALL CALLING REGS EXCEPT R13
LR R12,R15 LOADS ADDRESS OF TMREXIT INTO R12
USING TMREXIT,R12 SETS R12 AS BASE REGISTER
LA R14,TSAVE WHERE REGISTERS ARE STORED WHEN CALL
ST R13,4(R14) BACKWARD POINTER STORED
ST R14,8(R13) FORWARD POINTER STORED
LR R13,R14 R13 POINTED TO BUILDS SAVE AREA
*
PUT QPRNT,TIMERPRNT
******BACK TO MAIN*************
L R13,4(R13) LOADS ADDRESS OF CALLING ROUTINE REGS
LM R14,R12,12(R13) LOADS REGISTERS
BR R14 RETURN CONTROL
**************************************************
* TIMER EXIT STORAGE *
**************************************************
*
LTORG
TSAVE DS 18F
TIMERPRNT DC CL17'Timer has expired'
error:
975 ****************************************************************
976 * *
977 ****************************************************************
978 * <1> * STANDARD ENTRY LINKAGE ***
000000 90EC D00C 0000C 979 STM R14,R12,12(R13)
000004 18CF 980 LR R12,R15
R:C 00000 981 USING MAIN,R12
000006 41E0 C074 00074 982 LA R14,MAINSAVE
00000A 50D0 E004 00004 983 ST R13,4(,R14)
00000E 50E0 D008 00008 984 ST R14,8(,R13)
000012 18DE 985 LR R13,R14
986 * <2> * OPEN DCBS AND VERIFY SUCCESSFUL OPENS
000014 4510 C01C 0001C 987 OPEN (QPRNT,(OUTPUT))
00001E 12FF 993 IF (LTR,R15,R15,NZ)
000024 47F0 C0BC 000BC 1004 B SABEND1
1005 ENDIF
1008 * <3>* DRIVER **
000028 4D10 C03C 0003C 1009 ESPIE SET,ESPIEXT,(1,(5,7),9,13),PARAM=PARMLIST
1022 *
1023 * <> ***SET TIMER OPERATIONS*****
000046 58F0 C070 00070 1024 L R15,=V(TMREXIT)
00004A 4110 C0DC 000DC 1025 STIMER TASK,(R15),BINTVL=INTV1
1033 *
1034 *
1035 * <> * CLOSE DCBS AND EXIT
00005A 0700 1036 CLOSE (QPRNT)
1042 * <> * Restore Registers and Return.
000066 58DD 0004 00004 1043 L R13,4(R13)
00006A 98EC D00C 0000C 1044 LM R14,R12,12(R13)
00006E 07FE 1045 BR R14
000070 1046 LTORG
000070 00000000 1047 =V(TMREXIT)
1048 **************************************************
1049 * STORAGE FOR MAIN *
1050 **************************************************
000074 1051 MAINSAVE DS 18F
0000BC 4110 0064 00064 1052 SABEND1 ABEND 100,DUMP
0000CC 000000D4000000D8 1062 PARMLIST DC A(STRING,ADDR)
0000D4 C5E7C9E3 1063 STRING DC C'EXIT'
0000D8 1064 ADDR DS A(0)
1065 *
0000DC 1066 INTV1 DS F
0000E0 00000BB8 1067 DC X'00000BB8'
1068 *****
1069 *****
1070 **************************************************
1071 * TIMER EXIT ROUTINE *
1072 **************************************************
0000E8 000E8 00089 1073 TMREXIT CSECT
0000E8 90EC D00C 0000C 1074 STM R14,R12,12(R13) SAVES ALL CALLING REGS EXCEPT R13
i0000EC 18CF 1075 LR R12,R15 LOADS ADDRESS OF BUILD INTO R12
Page 4
Active Usings: TMREXIT,R12
Loc Object Code Addr1 Addr2 Stmt Source Statement HLASM R6.0 2012/03/12 17.13
R:C 000E8 1076 USING TMREXIT,R12 SETS R12 AS BASE REGISTER
0000EE 41E0 C030 00118 1077 LA R14,TSAVE WHERE REGISTERS ARE STORED WHEN CALL
0000F2 50DE 0004 00004 1078 ST R13,4(R14) BACKWARD POINTER STORED
0000F6 50ED 0008 00008 1079 ST R14,8(R13) FORWARD POINTER STORED
0000FA 18DE 1080 LR R13,R14 R13 POINTED TO BUILDS SAVE AREA
1081 *
1082 PUT QPRNT,TIMERPRNT
0000FC 0000 0000 00000 1084+ LA 1,QPRNT LOAD PARAMETER REG 1 02-IHBIN
** ASMA307E No active USING for operand QPRNT
** ASMA435I Record 50 in SYS1.MACLIB(IHBINNRA) on volume: VTMVSC
1089 ******BACK TO MAIN*************
00010C 58DD 0004 00004 1090 L R13,4(R13) LOADS ADDRESS OF CALLING ROUTINE REGS
000110 98EC D00C 0000C 1091 LM R14,R12,12(R13) LOADS REGISTERS
000114 07FE 1092 BR R14 RETURN CONTROL
1093 **************************************************
1094 * TIMER EXIT STORAGE *
1095 **************************************************
1096 *
000118 1097 LTORG
000118 1098 TSAVE DS 18F
000160 E389948599408881 1099 TIMERPRNT DC CL17'Timer has expired'
1100 *
1101 **************************************************
1102 * EXIT ROUTINE *
1103 **************************************************
000178 00178 00108 1104 ESPIEXT CSECT