TITLE 'IFBSVC76 - IGC0007F - SVC 76 LOGREC RECORDER' 00060002 * /* START OF SPECIFICATIONS******************************************* 00120002 * * 00180002 *01* MODULE-NAME - IGC0007F * 00240002 * * 00300002 *01* DESCRIPTIVE-NAME - 1.IFBSTAT 2.SYS1.LOGREC RECORDER * 00360002 * * 00420002 *01* COPYRIGHT -N/A * 00480002 * * 00540002 *01* STATUS - VERSION 000 MODULE SUPPORT CODE Y02021 * 00600002 * * 00660002 *01* CHANGE-ACTIVITY - MODULE REPLACED COMPLETELY * 00720002 * * 00780002 *02* A - ALL NEW LINES ADDED * 00840002 * * 00900002 *02* D - ALL PREVIOUS LINES DELETED * 00960002 * * 01020002 *02* C - NO LINES CHANGED * 01080002 * * 01140002 * * 01200002 *01* FUNCTION - THE SYS1.LOGREC RECORDER IS THE SVC ROUTINE IFBSTAT, * 01260002 * INVOKED BY ISSUING SVC76. ITS FUNCTION PROVIDES A * 01300002 * METHOD OF RECORDING TO THE SYS1.LOGREC DATA SET. * 01340002 * * 01380002 * FUNCTION 1 - RECORD PREFORMATTED RECORD. * 01420002 * * 01460002 * * 01500002 * FUNCTION 2 - THIS PROVIDES A METHOD WHEREBY THE INTERNAL * 01560002 * STATISTICAL DATA, MAINTAINED BY THE IOS ERROR * 01620002 * ROUTINES, CAN BE RECORDED ON THE SYS1.LOGREC DATA SET. * 01680002 * * 01740002 * A.ALL STATISTICAL DATA WILL BE RECORDED ON * 01800002 * THE SYS1.LOGREC DATA SET, IF THE INPUT PARA- * 01860002 * METER IS 0 (HALT - END OF DAY),OR 4(IFCEREPO) * 01920002 * * 01980002 * B.EXTRACTING CVTILK2 FROM THE CVT YIELDS A LIST OF * 02040002 * UCB POINTERS. EACH UCB IS ACCESSED, AND ITS * 02100002 * UCBSTI FIELD MULTIPLIED BY TEN AND ADDED TO THE * 02160002 * CONTENTS OF THE CVTSTB FIELD IN THE CVT. THE * 02220002 * EIGHT BYTES AT THE CALCULATED FIELD ARE CHECKED * 02280002 * FOR ZERO. A ZERO FIELD CAUSES NO FURTHER ACTION * 02340002 * TO BE TAKEN FOR THIS STATISTICAL FIELD. A NON ZERO * 02400002 * FIELD IS SAVED IN GOTTEN CORE AND THE * 02460002 * STATISTICAL COUNTER IS CLEARED. * 02520002 * * 02580002 * C.A. SHORT OBR RECORD IS FORMATTED TO INCLUDE THE * 02640002 * STATISTICAL DATA AREA. * 02700002 * * 02760002 * D.THE SHORT OBR RECORD IS THEN WRITTEN TO THE SYS1. * 02820002 * LOGREC DATA SET. THIS PROCESS IS * 02880002 * REPEATED EACH TIME A STATISTICAL FIELD IS FOUND * 02940002 * TO BE NON ZERO. * 03000002 * * 03060002 * E.FUNCTION 3 WILL BE GIVEN CONTROL IN LINE IF IT * 03120002 * IS TO BE PERFORMED. IF FUNCTION 3 IS NOT TO BE * 03180002 * PERFORMED THEN EXIT IS MADE VIA REGISTER 14. * 03240002 * * 03300002 * FUNCTION 3 - THIS FUNCTION CAN BE EITHER EXCLUSIVE OF FUNCTION 2 * 03360002 * IF THE INPUT PARAMETER IS 8 (IPL - VIA MASTER * 03420002 * SCHEDULER),OR IN ADDITION TO FUNCT. 2 IF THE INPUT * 03480002 * PARAMETER IS 0 (HALT - END OF DAY). * 03540002 * * 03600002 * TO CONTINUE THE IPL OR EOD RECORD PROCESSING * 03660002 * WHEN IT WAS DETERMINED THAT SUCH A * 03760002 * RECORD WAS TO BE PLACED ON SYS1.LOGREC. * 04020002 * * 04080002 * A.VIA A WTOR,INFORMATION IS GATHERED FROM * 04140002 * THE OPERATOR TO ASSIST IN FORMULATING AN * 04200002 * IPL RECORD. IF AN EOD IS THE TYPE REQUIRED * 04260002 * CONSTRUCTION OF THE RECORD IS PERFORMED * 04320002 * WITHOUT THE AID OF THE OPERATOR. THE * 04380002 * OPERATOR'S REPLY TO THE SYSTEM IS CHECKED * 04440002 * AND IF FOUND TO BE INVALID A MESSAGE IS * 04500002 * ISSUED TO THAT EFFECT, AND THE INITIAL WTOR * 04560002 * IS REISSUED. * 04620002 * * 04680002 * B.AFTER CONSTRUCTION OF THE RECORD(EOD OR IPL) * 04740002 * IS COMPLETED, CONTROL IS PASSED TO FUNCTION 1 * 04800002 * FOR RECORDING OF THE RECORD. * 04860002 * OF THE RECORD. * 04920002 * * 04980002 *01* NOTES - * 05400002 * * 05460002 *02* CHARACTER-CODE DEPENDENCIES - MUST BE REASSEMBLED IF MODE * 05520002 * CHANGED FROM EBCDIC. * 05580002 * * 05640002 *02* DEPENDENCIES - N/A * 05700002 * * 05760002 *02* RESTRICTIONS - NONE * 05820002 * * 05880002 *02* REGISTER-CONVENTIONS - ALL REGISTERS EQUATED TO SYMBOLS * 05940002 * SEE REG EQUATES AT FRONT OF LISTING * 06000002 * R0, R1 INPUT PARAMETER REGISTERS * 06030002 * REG.2 CVT POINTER REG. * 06060002 * REG.3 BASE REG. * 06120002 * REG.4-13 WORK REGS. * 06180002 * REG.14 RETURN REG. * 06240002 * REG.15 RETURN CODE REG. * 06300002 * * 06360002 *02* PATCH-LABEL - PTCHAREA, 10 WORDS RESERVED FOR PTCHAREA * 06420002 * * 06480002 *01* MODULE-TYPE - PROCEDURE, TRANSIENT SVC * 06540002 * * 06600002 *02* PROCESSOR - ASSEMBLER XF * 06660002 * * 06720002 *02* MODULE-SIZE - 1 PAGEABLE MODULE * 06780002 * * 06840002 *02* ATTRIBUTES - PROTECT KEY ZERO, REENTRANT * 06900002 * * 06960002 *01* ENTRY-POINT - IGC0007F * 07020002 * * 07080002 *02* PURPOSE - TO RECORD TO SYS1.LOGREC DATA SET * 07140002 * * 07200002 *02* PURPOSE - TO WRITE MESSAGES TO OPERATOR. * 07260002 * * 07320002 *02* LINKAGE - INVOKED BY ISSUING SVC 76. * 07380002 * * 07440002 *02* INPUT - PREFORMATTED SYS1.LOGREC RECORDING * 07500002 * REG.0 - TWOS COMPLEMENT OF NUMBER OF BYTES TO BE RECORDED * 07560002 * REG.1 - ADDRESS OF DATA TO BE RECORDED * 07620002 * * 07680002 * INPUT - SYS1.LOGREC RECORDINGS FORMATTED BY SVC76 * 07740002 * REGISTER 0= 0 - ENTRY IS VIA HALT END OF DAY * 07860002 * REGISTER 0= 4 - ENTRY IS VIA IFCEREPO UTILITY * 07920002 * REGISTER 0= 8 - ENTRY IS VIA MASTER SCHEDULER(IPL) * 07980002 * REGISTER 0= C - ENTRY IS FOR OUTAGE * 08380002 * * 08820002 *02* OUTPUT - INPUT TO SYS1.LOGREC DATA SET * 08880002 * * 08940002 *02* OUTPUT - MESSAGES TO OPERATOR HH-HOUR, MM-MINUTE, SS-SECOND * 09240002 * IFB030I SYS1.LOGREC I/O ACCESS ERROR,HH.MM.SS * 09300002 * IFB040I SYS1.LOGREC AREA IS FULL,HH.MM.SS * 09360002 * IFB050I SYS1.LOGREC FORMAT ERROR,HH.MM.SS * 09420002 * IFB060E SYS1.LOGREC NEAR FULL * 09480002 * * 09540002 *02* EXIT-NORMAL - (1) INSTRUCTION FOLLOWING THE SVC CALL * 09600002 * REG.15 - ZERO * 09660002 * * 09720002 *02* EXIT-ERROR - (1) INSTRUCTION FOLLOWING THE SVC CALL * 09780002 * REG.15 - EIGHT - CORE NOT AVAILABLE (NO RECORDING ATTEMPTED) 09840002 * REG.15 - TWELVE - NO SPACE AVAILABLE (NORECORDING ATTEMPTED) * 09900002 * - RECORD OVERRIDE SWITCH SET Y02021 09960002 * REG.15 - SIXTEEN - PERM I/O ERROR * 09990002 * - FORMAT ERROR (HEADER RECORD) * 10000002 * * 10020002 *01* EXTERNAL-REFERENCES - * 10080002 * * 10140002 *02* ROUTINES - SVC 00,SVC 07 * 10200002 *02* ROUTINES - SVC 35 * 10260002 * * 10320002 *02* DATA-SETS - SYS1.LOGREC * 10380002 * * 10440002 *02* DATA-AREAS - INPUT DATA AREA,CVT,LOGDCB,WORK AREA * 10500002 *02* DATA-AREAS - WORK AREA AQUIRED BY LOGREC RECORDER * 10560002 * * 10620002 * EXTERNAL REFERENCES - * 10680002 * CVTILK2 - ADDRESS OF THE TWO BYTE UCB POINTERS * 10740002 * CVTSTB - BASE ADDRESS VALUE OF STATISTICAL DATA * 10800002 * STATAB - ONE BYTE STATISTICAL DATA AREA INDEX IN UCB * 10860002 * CVTPTR - ADDRESS OF CVT * 10920002 * * 10980002 *01* TABLES/WORK AREAS - 380 BYTES OBTAINED FROM SP-245 BY RECORDER * 11100002 * TABLES/WORK AREAS - * 11160002 * CVT, UCB'S, SER DCB, STATAB * 11220002 * * 11280002 * * 11340002 *01* MACROS - GETMAIN,ENQ,DEQ,FREEMAIN,WAIT * 11400002 *01* MACROS - TIME,FREEMAIN * 11460002 * * 11520002 **** END OF SPECIFICATIONS *********************************/ 11580002 EJECT 11640002 * HEADER RECORD AREA * 11700002 * *************************************************************** 11760002 * * * * HIGH * 11820002 * +0 * F F F F * LOW EXTENT * EXTENT * 11880002 * * * (CCHH) * (CC) * 11940002 * *************************************************************** 12000002 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 12060002 * +8 * (CONT.) * SPARE * (BBCCHHR) * 12120002 * * (HH) * * * 12180002 * *************************************************************** 12240002 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 12300002 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD* 12360002 * * (CONT.) * TRACK * TRACK * WRITTEN * 12420002 * *************************************************************** 12480002 * * ADDRESS OF LAST RECORD * TRACKS * EARLY* 12540002 * +24 * WRITTEN (CONT.) * PER * WARN.* 12600002 * * * CYLINDER * CNT.* 12660002 * *************************************************************** 12720002 * * EARLY * DEV- * EARLY WARNING * EARLY* CK. * 12780002 * +32 * WARN. * ICE * MESSAGE TRACK * WARN.* BYTE * 12840002 * * CNT. * CODE * * SWT. * (FF) * 12900002 * *************************************************************** 12960002 EJECT 13020002 * OBR RECORD - SHORT FORM * 13080002 * ********************************************************* 13140002 * * REC * OP * * REC * * 13200002 * +0 * TYPE * SYS * SWITCHES * CNT *SPARE * 13260002 * * * * * * * 13320002 * ********************************************************* 13380002 * * * * 13440002 * +8 * DATE * TIME * 13500002 * * * * 13560002 * ********************************************************* 13620002 * * * CPU * MODEL * MAX * 13680002 * +16 * RSVD * SERIAL * NUMBER * MCEL * 13740002 * * * NUMBER * * LENGTH * 13800002 * ********************************************************* 13860002 * * * * * 13920002 * +24 * DEVICE TYPE * SOR * CUA * 13980002 * * * COUNT * * 14040002 * ********************************************************* 14100002 * * * 14160002 * +32 * STATISTICAL DATA AREA (10 BYTES) * 14220002 * * * 14280002 * ********************************************************* 14340002 * * * * 14400002 * +40 * * (20 BYTES) * 14460002 * * * * 14520002 * ********************************************************* 14580002 * * * 14640002 * +48 * * 14700002 * * * 14760002 * ***************************** 14820002 EJECT 14880002 * IPL RECORD FORMAT 14940002 * ********************************************************* 15000002 * * REC * OP * * REC * * 15060002 * +0 * TYPE * SYS * SWITCHES * CNT *SPARE * 15120002 * * * * * * * 15180002 * ********************************************************* 15240002 * * * * 15300002 * +8 * DATE * TIME * 15360002 * * * * 15420002 * ********************************************************* 15480002 * * * CPU * MODEL * MAX * 15540002 * +16 * RSVD * SERIAL * NUMBER * MCEL * 15600002 * * * NUMBER * * LENGTH * 15660002 * ********************************************************* 15720002 * *SUB- * CHANNEL UNIT * REASON * CHANNEL * 15780002 * +24 *SYSTEM * ADDRESS OF * FOR * MAP * 15840002 * * ID * FAILING DEVICE * IPL * * 15900002 * ********************************************************* 15960002 * * * 16020002 * +32 * CHANNEL TYPE ASSIGNMENT * 16080002 * * * 16140002 * ********************************************************* 16200002 * * * * 16260002 * +40 * HIGHEST ADDRESS * EXPANSION BYTES * 16320002 * * AT IPL * * 16380002 * ********************************************************* 16440002 * * * 16450002 * +48 * TIME STAMP * 16460002 * * * 16470002 * ********************************************************* 16480002 EJECT 16500002 * EOD RECORD FORMAT 16560002 * ********************************************************* 16620002 * * REC * OP * * REC * * 16680002 * +0 * TYPE * SYS * SWITCHES * CNT *SPARE * 16740002 * * * * * * * 16800002 * ********************************************************* 16860002 * * * * 16920002 * +8 * DATE * TIME * 16980002 * * * * 17040002 * ********************************************************* 17100002 * * * CPU * MODEL * MAX * 17160002 * +16 * RSVD * SERIAL * NUMBER * MCEL * 17220002 * * * NUMBER * * LENGTH * 17280002 * ********************************************************* 17340002 EJECT 17400002 * 17460002 ** THE FOLLOWING ARE REGISTER EQUATES ** 17520002 * 17580002 ZEROREG EQU 0 REGISTER 0 USED IN ADDR'BILITY 17640002 R0PARM EQU 0 REGISTER 0 17700002 R1PARM EQU 1 REGISTER 1 17760002 R1LINK EQU 1 REGISTER 1 17820002 R2CVTBAS EQU 2 REGISTER 2 17880002 R2WRKBAS EQU 2 REGISTER 2 ADDR OF GOTTEN CORE 17940002 R3CBASE EQU 3 REGISTER 3 CSECT BASE 18000002 R4WORK EQU 4 REGISTER 4 18060002 R5WORK EQU 5 REGISTER 5 18120002 R6WORK EQU 6 REGISTER 6 18180002 R6LINK EQU 6 REGISTER 6 INTERNAL LINKAGE 18240002 R7WORK EQU 7 REGISTER 7 18300002 R8WORK EQU 8 REGISTER 8 18360002 R9WORK EQU 9 REGISTER 9 18420002 R9LINK EQU 9 REGISTER 9 INTERNAL LINKAGE 18480002 R9LOGBAS EQU 9 REGISTER 9 LOG DSECT BASE 18540002 R10SIZE EQU 10 REGISTER 10 RECORD SIZE 18600002 R10WORK EQU 10 REGISTER 10 WORK REG Y02021 18660002 R11CNTRL EQU 11 REGISTER 11 CONTROL BCT LOOPS 18720002 R11RECAD EQU 11 REGISTER 11 RECORD ADDR 18780002 R12WORK EQU 12 REGISTER 12 WORK REG 18840002 R12MSGCD EQU 12 REGISTER 12 CODE PASSED TO MSG 18900002 R13RETAD EQU 13 REGISTER 13 RETURN ADDR 18960002 R14RETRN EQU 14 REGISTER 14 RETURN TO CALLER 19020002 R14UCBPT EQU 14 REGISTER 14 TEMP UCB POINTER 19080002 R15CODE EQU 15 REGISTER 15 CONDITION CODE 19140002 * 19200002 ** THE FOLLOWING ARE DISPLACEMENT AND LENGTH EQUATES ** 19260002 * 19320002 ZERO EQU 0 DIS OF ZERO 19380002 FRSTWRD EQU 0 FIRST FULL WORD IN A TABLE 19440002 SECDWRD EQU 4 SECOND FULL WORD IN A TABLE 19500002 THRDWRD EQU 8 THIRD FULL WORD IN A TABLE 19560002 FORTHWRD EQU 12 FOURTH FULL WORD IN A TABLE 19620002 RBEXSAVE EQU 96 DIS TO SVRB EXTENSION 19680002 IOBECBPT EQU 4 DIS TO ADDR OF ECB IN THE IOB 19800002 IOBSTART EQU 16 DIS TO ADDR OF CHAN PGM IN IOB 19860002 IOBDCBPT EQU 20 DIS TO ADDR OF DCB IN THE IOB 19920002 DCBDEBAD EQU 44 DIS TO ADDR OF DEB IN THE DCB 19980002 DCBFLAG EQU 48 DIS TO SPECIAL FLD IN LOG DCB 20040002 EODCB EQU 60 DIS TO EXTENSION OF LOGREC DCB 20100002 DEBUCBAD EQU 32 DIS TO UCB ADDR IN DEB 20160002 DEBBCH EQU 36 DIS TO BBCCHH OF BEGINNING OF 20220002 * LOGREC DATA SET IN DEB 20280002 UCBUNTYP EQU 19 DIS TO UNIT TYPE IN UCB 20340002 OPSYSVS EQU 1 DIS TO SYS REL # IN RECORD 20400002 EJECT 20460002 ONE EQU 1 LENGTH OF ONE 20520002 TWO EQU 2 LENGTH OF 2 20580002 THREE EQU 3 LENGTH OF 3 @YM6452P 20610002 FOUR EQU 4 LENGTH OF 4 20640002 FIVE EQU 5 COUNT OF FIVE @YM2951P 20670002 SIXTEEN EQU 16 LENGTH OF SIXTEEN YM5198 20680002 ECBLEN EQU 4 LENGTH OF ECB 20700002 EIGHT EQU 8 LENGTH OF 8 BITS 20760002 GETTABLN EQU 16 LENGTH OF GETMAIN TABLE 20820002 WCFLDLEN EQU 256 LENGTH OF LOG DSECT 20880002 CHANPGLN EQU 56 LENGTH OF CHANNEL PROGRAM 20940002 KEYDTALN EQU 3 LENGTH OF KEYLEN & DATALEN FLDS 21000002 CCHH EQU 4 LENGTH OF CCHH FIELD 21060002 CCHHR EQU 5 LENGTH OF CCHHR FIELD 21120002 BBCCHH EQU 6 LENGTH OF BBCCHH FIELD 21180002 BBCCHHR EQU 7 LENGTH OF BBCCHHR FIELD 21240002 NAMELN EQU 8 LENGTH OF MODULE NAME 21300002 XCTLLST EQU 16 LENGTH OF XCTL LIST AREA 21360002 SUBPLNM EQU 245 SUBPOOL VALUE 21420002 HH EQU 2 LENGTH OF UNPACKED HOURS 21480002 MM EQU 2 LENGTH OF UNPACKED MINUTES 21540002 PACKTIME EQU 4 LENGTH OF PACKED TIME - HHMMSSTH 21600002 UNPKTIME EQU 7 LENGTH OF UNPACKED TIME -HHMMSST 21660002 HHMMSS EQU 8 LENGTH OF FORMATED TIME-HH.MM.SS 21720002 MSG1LEN EQU 63 LENGTH OF I/O ERROR MESSZ08973JW 21780003 MSG2LEN EQU 49 LENGTH OF LOG FULL MSG 21840002 MSG5LEN EQU 49 LENGTH OF FORMAT ERROR MSG 21900002 MSG6LEN EQU 37 LENGTH OF EARLY WARNING MSG 21960002 HDR EQU 32 LENGTH OF SHORT RE HDR X03127 22020002 C8 EQU 8 @YL02021 22025002 C10 EQU 10 @YL02021 22030002 C28 EQU 28 ENQ LIST COUNT @YM6451P 22032002 C40 EQU 40 @YL02021 22035002 REC2 EQU 2 @YL02021 22040002 C4 EQU 4 @YL02021 22045002 L40 EQU 40 LENGTH OF OUTAGE REC @YL02021 22050002 C12 EQU X'0C' @YL02021 22055002 OUTFLAG EQU X'80' @YL02021 22060002 OUTTYPE EQU X'83' @YL02021 22065002 X80 EQU X'80' @YL02021 22070002 EJECT 22080002 INCRDIS EQU 3 DIS TO REFRESH NUM IN CVTRELNM 22140002 RELLN EQU 2 LENGTH OF THE RELEASE NUMBER 22200002 WORD EQU 4 LENGTH OF A FULL WORD 22260002 TABENTRY EQU 3 LENGTH OF 1 ENTRY IN THE VALID 22320002 * SUB SYS ID TABLE 22380002 REPLYLEN EQU 5 LENGTH OF REPLY FROM WTOR 22440002 REASONLN EQU 2 LENGTH OF REASON PORTION OF REPY 22500002 IDLEN EQU 2 LENGTH OF SUB SYS ID IN REPLY 22560002 CHASTBLN EQU 8 LENGTH OF CHANNEL ASSIGNMENT TAB 22620002 EODSIZE EQU 24 LENGTH OF AN EOD RECORD 22680002 IPLSIZE EQU 56 @YL02021 22740002 ERRMSGLN EQU 40 LENGTH OF THE INVALID REPLY MSG 22800002 IMSGSIZE EQU 54 LENGTH OF WTOR MSG 22860002 ELEVEN EQU 11 YM4105P 22870002 ONE24 EQU 124 ADDITIONAL GETMAIN YM5198 22880002 GETLNGTH EQU 380 GETMAIN SIZE YM5198 22900002 STORSIZE EQU 256 LENGTH OF GOTTEN CORE Y02021 22920002 NXTSTATA EQU 2 DIS TO ADDR OF NEXT STAT TAB 22980002 * SECTION 23040002 NXTUCBAD EQU 2 DIS TO THE ADDR OF THE NEXT UCB 23100002 UCBFL5 EQU 1 DIS TO FLAG BYTE IN UCB 23160002 SRTESTAT EQU 3 DIS TO STATUS BYTE IN UCB 23220002 UCBSTI EQU 9 DIS TO INCREMENT IN UCB WHICH, 23280002 * WHEN MULTI. BY 10 BECOMES INDEX 23340002 * INTO STAT TAB FOR THAT DEVICE. 23400002 UCBNAME EQU 12 DIS TO WORD CONTAINING CUA IN 23460002 * EBCDIC IN THE UCB 23520002 UCBTYP EQU 16 DIS TO DEVICE TYPE FIELD IN UCB 23580002 UCBDEVCL EQU 18 DIS TO DEVICE CLASS IN UCB 23640002 DEVTPE EQU 2 LENGTH OF DEVICE TYPE FLD IN UCB 23700002 WORKLEN EQU 8 LENGTH OF WORK AREA 23760002 SDRDATA EQU 8 LENGTH OF COUNTERS IN A 10 BYTE 23820002 * STAT TAB 23880002 SDRLEN EQU 10 LENGTH OF NORMAL STAT FIELD 23940002 NEWSDRDT EQU 18 LENGTH OF STAT COUNTERS IN A 24000002 * 20 BYTE STAT FLD 24060002 NEWSDRLN EQU 20 LENGTH OF A 20 BYTE STAT FIELD 24120002 BLDLST EQU 18 LENGTH OF BLDL LIST 24180002 RECLNW10 EQU 42 LENGTH OF RECORD WITH A 10 BYTE 24240002 * STAT FIELD 24300002 RECLNW20 EQU 52 LENGTH OF RECORD WITH A 20 BYTE 24360002 * STAT FIELD 24420002 SPACE 24480002 ** THE FOLLOWING EQUATES ARE FOR CCW COMMANDS ** 24540002 * 24600002 * 24660002 WRTDATA EQU X'05' WRITE DATA COMMAND CODE 24720002 READ EQU X'06' READ DATA COMM CODE 24780002 TRANCHAN EQU X'08' TRANSFER IN CHANNEL COMM CODE 24840002 WRTCTKYD EQU X'1D' WRITE COUNT,KEY,&DATA COMMAND 24900002 SRCHID EQU X'31' SEARCH ON ID EQUAL COMM CODE 24960002 RECZERO EQU 0 SEEK ADDR OF ZERO 25020002 RECRDONE EQU X'01' FIRST RECORD ON THE TRACK 25080002 LSTREC EQU X'FF' LAST RECORD ON THE TRACK 25140002 EJECT 25200002 * 25260002 ** THE FOLLOWING EQUATES ARE FOR BIT AND MASK POSITIONS ** 25320002 * 25380002 EXTDCB EQU X'01' TEST BIT FOR EXTENDED DCB 25440002 WRTEWMSG EQU X'01' BIT IN FLAGS TO WRITE EARLY WRN 25500002 IOERR EQU X'02' BIT TO SIGNIFY AN IO ACCESS ERR 25560002 BADHDR EQU X'04' BIT TO SIGNIFY HDR REC IS INVALD 25620002 EOEXTFLG EQU X'08' BIT TO SIGNIFY LOGREC IS FULL 25680002 SUPINCLN EQU X'20' 'SILI' BIT IN CCW TO SUPRESS 25740002 * INCORRECT LENGTH 25800002 VS2IND EQU X'80' VS2 RELEASE INDICATOR Y02021 25860002 AOSFLG EQU X'40' INDICATE AOS IN REL NO. 25920002 EOFFLG EQU X'80' FLAG TO SIGNIFY THAT THE RECORD 25980002 * WRITTEN IS NOT ON THE LAST TRK 26040002 * OF THE DATA SET. 26100002 EWMSGISU EQU X'80' BIT IN HDR TO SIGNIFY THAT THE 26160002 * EARLY WARNING MSG HAS BEEN ISUD 26220002 IOBFLAG1 EQU X'42' FLAGS IN IOB TO SIGNIFY COMM 26280002 * CHANING AND UNRELATED RECORDS 26340002 IOBSENS1 EQU 2 LOCATION OF SENSE BYTES 26360002 IOBSTAT1 EQU 12 LOCATION OF STATUS BYTE 26380002 GOODHDR EQU X'FF' CONTENTS OF CHK BYT IN A GOOD HD 26400002 * 26460002 TIMEBIT EQU X'08' BIT IN RECORD TO SIGNIFY THAT 26520002 * THE TIME MACRO WAS USED 26580002 IPLTYPE EQU X'50' IPL RECORD TYPE 26640002 EODREC EQU X'80' EOD RECORD TYPE 26700002 OFF EQU X'00' USED TO CLEAR A BYTE 26760002 OFFENQ EQU X'FD' TURN ENQ IND OFF YM6767P 26820002 SDR20BYT EQU X'01' BIT IN STAT TO SIGNIFY THAT THIS 27000002 * IS A 20 BYTE STAT TAB 27060002 UCBNEWST EQU X'10' BIT IN UCB FLAG BYTE TO SIGNIFY 27120002 * A NEW TYPE STATISTICS TABLE 27180002 EODSHORT EQU X'A0' BITS IN UNIT CHECK RECORD TO 27240002 * SIGNIFY A SHORT REC & SDR DUMP 27300002 NOCLR EQU X'80' BIT IN STAT TO SIGNIFY NOT TO 27360002 * CLEAR THE OPTION BYTE(BYTE TWO) 27420002 ONLINE EQU X'80' BIT IN UCB STATUS BYTE FOR ONLIN 27480002 OBRREC EQU X'30' UNIT CHECK - OBR RECORD TYPE 27540002 NUMARC EQU X'F0' BITS TO SIGNIFY A NUMERIC DIGIT 27600002 CLRUNIT EQU X'F0' BITS TO CLEAR UNIT ADDR FROM REC 27660002 HEX13 EQU X'13' MCH RE TYPE @YM2951P 27690002 FOX EQU X'0F' YM4105P 27700002 HEX14 EQU X'14' @YM2953P 27710002 EJECT 27720002 ** THE FOLLOWING EQUATES ARE FOR CONDITION CODE SETTINGS ** 27780002 * 27840002 EXTENTNG EQU X'42' ECB COMP CODE - NOT WITHIN EXTNT 27900002 INTCEPT EQU X'44' ECB COMP CODE - INTERCEPT 27960002 NORMAL EQU X'7F' ECB COMP CODE - NORMAL COMPLETON 28020002 WILLFIT EQU 1 RESULT OF SUBT WAS NOT ZERO 28080002 NOTLST EQU 1 REC WRITTEN WAS NOT ON LAST TRK 28140002 RUNNING EQU 1 CONDITION IF OBR IS RUNNING 28200002 EODS EQU 4 AN END OF LOGREC DATA SET COND 28260002 UNEQUAL EQU 7 AN UNEQUAL COMPARE 28320002 EQUAL EQU 8 BRANCH IF CONDITION IS EQUAL 28380002 STRNOTAV EQU 8 COND CODE FOR STOR NOT AVAIL 28440002 ZEROLENG EQU 8 28500002 LOGFULL EQU 0 CODE TO MSG MOD FOR LOGREC FULL 28560002 LOGFORER EQU 4 CODE TO MSG MOD FOR HDR REC INCR 28620002 LOGIOERR EQU 8 CODE TO MSG MOD FOR LOGREC IO ER 28680002 LOGNRFUL EQU 12 CODE TO MSG MOD FOR EARLY WARN 28740002 EXCP EQU 0 EXCP SVC NUM 28800002 GETMAIN EQU 4 GETMAIN SVC NUM 28860002 XCTLNO7 EQU 7 XCTL SVC NUM 28920002 DEQUEUE EQU 48 DEQUEUE SVC NUM 28980002 ENQUEUE EQU 56 ENQUEUE SVC NUM 29040002 EJECT 29100002 SPACE 29160002 LOGRECFL EQU 12 LOG FULL CONDITION CODE 29220002 IOERROR EQU 16 I/O ERROR CONDITION CODE 29280002 SPACE 29340002 WTO EQU 35 WRITE TO OPERATOR SVC NUM 29400002 SPACE 29460002 NXTOFF EQU 1 NUMBER ADDED TO STAT OFFSET TO 29520002 * GET TO NEXT STAT TAB 29580002 CUANUM EQU 3 NUMBER OF DIGITS IN A CUA 29640002 DEVNUM EQU 8 NUMBER OF BFRD LOG DEVS @G30HIMD 29700002 SDRREC EQU 4 INPUT PARM FROM EREP 29760002 IPLREC EQU 8 INPUT PARM FROM SCHED FOR IPL RC 29820002 UNITS EQU 8 MAXIMUM NUM OF ADDRESSABLE 29880002 * DRIVES ON A BANK OF 2314'S 29940002 ASPNPARM EQU 51 PARM PASSED TO SVC91 FOR AN 30000002 * ASPEN TAPE DEVICE PT0878 30060002 EODPARM EQU 32 PARM PASSED TO LOAD 3(IFBSTAT1) 30120002 * FOR EOD SERVICE. 30180002 IPLPARM EQU 56 PARM PASSED TO LOAD 3(IFBSTAT1) 30240002 * FOR IPL SERVICE. 30300002 NXTSDRST EQU 256 NUM OF BYTES IN A STAT TAB SECT 30360002 MAKBIN EQU 9 ADDED TO LOW ORDER 4 BITS OF AN 30420002 * ALFABETIC DIGIT OF A CUA TO 30480002 * MAKE A BINARY REPRESENTATION OF 30540002 * THAT DIGIT. EX. IF 9 IS ADDED 30600002 * TO C1(A) IT WILL MAKE CA. THE 30660002 * BINARY 'A' IS USED FOR THE 30720002 * EBCDIC 'C1'. 30780002 TOEND EQU 20 NUM OF BITS TO MOVE A CUA FROM 30840002 * THE HIGH TO THE LOW ORDER BITS 30900002 * OF A REGISTER. 30960002 MINUS EQU 4 A MINUS CONDITION 31020002 BLDL EQU 18 BLDL SVC NUM 31080002 IFBSTAT EQU 76 LOGREC RECORDER SVC NUM 31140002 VOLSTAT EQU 91 READ BUFFERED LOG SVC NUM 31200002 EJECT 31260002 U EQU C'U' DEFAULT REPLY FOR IPL MSG 31320002 DOT EQU C'.' CHARACTER TO SEPERATE HH,MM,SS 31380002 BLANK EQU C' ' BLANK CHARACTER 31440002 REASONUM EQU 13 NUM OF POSSIBLE REASON CODES 31500002 IDNUM EQU 14 NUM OF POSSIBLE SUB SYS ID'S 31560002 WTOR EQU 35 WRITE TO OPERATR W/REPLY SVC NUM 31620002 EJECT 31680002 * 31740002 IGC0007F CSECT 31800002 USING LOGDSECT,R9LOGBAS 31860002 LOGDSECT DSECT 31920002 WCFIELD DS CL2 UNUSED 31980002 CTFIELD DS CL10 RECORD ENTRY TP ERROR 32040002 CTFLDID EQU CTFIELD COUNT FIELD ID-CCHHR 32100002 CTFLD4D EQU CTFIELD+4 32160002 CTFLDKEY EQU CTFIELD+5 COUNT FIELD KEY LENGTH 32220002 CTFLDDL EQU CTFIELD+6 COUNT FIELD DATA LENGTH 32280002 DS 0H 32340002 BUFFAREA DS CL10 27 PLANT CNTRL MPXOR 32400002 RECSIZE EQU BUFFAREA SIZE OF RECORD 32460002 DS 0D 32520002 CCWAREA DS CL56 CHANNEL PROGRAM 32580002 MSGAREA EQU CCWAREA 32640002 XCTL EQU CCWAREA 32700002 CCW8 EQU CCWAREA+8 32760002 XCTLNAME EQU XCTL+8 NAME FIELD IN XCTL LIST 32820002 CCW16 EQU CCWAREA+16 32880002 CCW24 EQU CCWAREA+24 32940002 CCW32 EQU CCWAREA+32 33000002 CCW40 EQU CCWAREA+40 33060002 CCW44 EQU CCWAREA+44 33120002 CCW48 EQU CCWAREA+48 33180002 CCW54 EQU CCWAREA+54 33240002 EWMTIME EQU MSGAREA+34 TIME PORTION OF EARLY WARNIG MSG 33300002 FULLTIME EQU MSGAREA+37 TIME PORTION OF LOG FULL MSG 33360002 FORMTIME EQU MSGAREA+37 TIME PORTION OF FORMAT ERR MSG 33420002 SENSBYT1 EQU MSGAREA+41 SNS CHAR 1 @YM6452P 33480002 SENSBYT2 EQU MSGAREA+42 SNS CHAR 2 @YM6452P 33486002 SENSBYT3 EQU MSGAREA+43 SNS CHAR 3 @YM6452P 33492002 SENSBYT4 EQU MSGAREA+44 SNS CHAR 4 @YM6452P 33498002 STATBYT1 EQU MSGAREA+46 STATUS CHAR 1 @YM6452P 33504002 STATBYT2 EQU MSGAREA+47 STATUS CHAR 2 @YM6452P 33510002 STATBYT3 EQU MSGAREA+48 STATUS CHAR 3 @YM6452P 33516002 STATBYT4 EQU MSGAREA+49 STATUS CHAR 4 @YM6452P 33522002 IOERTIME EQU MSGAREA+51 TIME PORTION OF I/O ERR 33528002 SPACE 33540002 DS CL5 SPARE @YM6452P 33600002 DS 0D 33660002 TPRIOB DS CL32 IOB FLAG 33720002 TIMEAREA EQU TPRIOB WORK AREA FOR CONVERTING TIME 33780002 UNPKHH EQU TIMEAREA+3 UNPACKED HOURS - HH 33840002 UNPKMM EQU TIMEAREA+5 UNPACKED MINUTES - MM 33900002 UNPKSS EQU TIMEAREA+7 UNPACKED SECONDS - SS 33960002 UNPKTEN EQU TIMEAREA+9 UNPACKED TENTHS OF A SECOND - T 34020002 UNPKHUN EQU TIMEAREA+10 UNPACKED HUNDREDS OF A SECOND -H 34080002 FORHH EQU TIMEAREA+1 FORMATTED HOURS - HH 34140002 FRSTDOT EQU TIMEAREA+3 FIRST DELIMETER - AFTER HH 34200002 FORMM EQU TIMEAREA+4 FORMATTED MINUTES - MM 34260002 SECDOT EQU TIMEAREA+6 SECOND DELIMETER - AFTER MM 34320002 FORSS EQU TIMEAREA+7 FORMATTED SECONDS - SS 34380002 SPACE 34440002 EXCPSEEK DS CL8 SEEK ADDRESS FOR EXCP OF HD REC 34500002 SAVETIME EQU EXCPSEEK SAVE TIME AFTER TIME MACRO INST 34560002 EXCPSEK1 EQU EXCPSEEK+1 34620002 EXCPSEK3 EQU EXCPSEEK+3 34680002 EXCPSEK7 EQU EXCPSEEK+7 34740002 INPUPARM DS 1H RECORD TYPE @YM6451P 34800002 DS 1H SPARE @YM6451P 34830002 SEEKADR DS CL7 BBCCHHR USED FOR RD/WR 34860002 SEEKADR2 EQU SEEKADR+2 34920002 SEEKADR6 EQU SEEKADR+6 34980002 FLAGS DS CL1 INTERNAL 27 PLANT CTRL MPXOR 35040002 HDRREC DS CL40 HEADER RECORD 35100002 HDRID EQU HDRREC+0 35160002 LOWLIMIT EQU HDRREC+2 35220002 UPLIMIT EQU HDRREC+6 35280002 TMESTMP EQU HDRREC+8 OUTAGE TIME STAMP @YM6451P 35310002 SPARE EQU HDRREC+10 35340002 RESTART EQU HDRREC+11 35400002 BYTSREM EQU HDRREC+18 35460002 TRKCAP EQU HDRREC+20 35520002 LASTTTR EQU HDRREC+22 35580002 LASTTR2 EQU HDRREC+24 35640002 LASTTR4 EQU HDRREC+26 35700002 LASTTR6 EQU HDRREC+28 35760002 TRKSPER EQU HDRREC+29 35820002 TRKSPER1 EQU HDRREC+30 35880002 EWMCNT EQU HDRREC+31 35940002 EWMTRK EQU HDRREC+34 36000002 EWMSW EQU HDRREC+38 36060002 SFTYBYTS EQU HDRREC+39 36120002 DS 0F 36180002 TPRECB DS CL4 ECB FLAG 36240002 DS 0D 36300002 SAVEREGS DS CL48 REGISTER SAVE AREA @YM2951P 36360002 DS 3F SPARE @YM6451P 36390002 RETURNAD DS 1F SAVE R14 AREA Y02021 36420002 SHORTRTN DS 1F SHORT RE RETURN ADDR @YM2953P 36425002 INTSW DS CL1 INTERNAL SWITCH @YM2951P 36430002 SHTSW EQU X'01' SHORT RE INDICATOR @YM2951P 36440002 ENQIND EQU X'02' ENQUEUE IND FOR STAE YM5198 36445002 SHTCLR EQU X'FE' CLEAR SHORT RE IND @YM2951P 36450002 ORG WCFIELD Y02021 36480002 CCWAREA2 DS 3D TO HOLD RECORD CCW'S 36540002 CONVERT EQU CCWAREA2 AREA TO ISSUE CVB FROM 36600002 WTOAREA EQU CCWAREA2 WTO MESSAGE AREA 36660002 WTOREPLY EQU CCWAREA2 TO HOLD REPLY OF WTOR 36720002 SUBIDRPL EQU WTOREPLY+3 SUB-SYSTEM ID PORTION OF REPLY 36780002 WTORAREA EQU CCWAREA2+8 WTOR MESSAGE AREA 36840002 WTORLGTH EQU WTORAREA LENGTH OF WTOR REPLY 36900002 WTORADDR EQU WTORAREA ADDR OF WTOR REPLY BUFFER 36960002 WTORECB EQU WTORAREA+4 ADDR OF WTOR ECB 37020002 WTORMESS EQU WTORAREA+8 BASIC STRUCTURE OF WTOR 37080002 DS 1D ALIGNMENT 37140002 WRTCCW DS 4D WRITE CHANNEL COMMAND WORDS 37200002 DS 1D ALIGNMENT 37260002 SPACE 37320002 ORG WCFIELD+296 @YM2953P 37380002 RECORD DS 8D @YM2953P 37410002 CLASRC EQU RECORD 37440002 OPSYS EQU RECORD+1 37500002 SW1 EQU RECORD+2 37560002 SW2 EQU RECORD+3 37620002 INCREL EQU RECORD+5 37740002 DATE EQU RECORD+8 37800002 TIME EQU RECORD+12 37860002 CPUSER EQU RECORD+16 37920002 CPUSER1 EQU RECORD+17 37980002 CPUMODEL EQU RECORD+20 38040002 CPUID EQU RECORD+20 38100002 SUBSYSID EQU RECORD+24 38160002 DEVTYP EQU RECORD+24 38220002 REASON EQU RECORD+28 38280002 SDRCNT EQU RECORD+28 38340002 CHANMAP EQU RECORD+30 38400002 CUA EQU RECORD+30 38460002 UCUA EQU RECORD+31 38520002 CHANASSN EQU RECORD+32 38580002 SDR EQU RECORD+32 38640002 HIGHADDR EQU RECORD+40 38700002 SPARE2 EQU RECORD+44 @YL02021 38720002 OUTAGE EQU RECORD+48 @YL02021 38740002 OUTSAVE EQU RECORD+56 OUTAGE SAVE AREA YM5198 38745002 STAELIST DS CL16 STAE LIST SAVE AREA YM5198 38750002 ESTAPARM DS CL4 REG SAVE AREA FOR STAE YM5198 38755002 SPACE 38760002 WORKECB EQU RECORD YM2958P 38820002 ORG WCFIELD+120 @YM2953P 38880002 EXSTAT DS 6F ADDITIONAL STAT AREA Y02021 38940002 ORG SHORTRTN+4 @YM2953P 38970002 DS 0D @YM2953P 38980002 WORKIOB DS 2F WORK AREA @YM6451P 39000002 ENQLSTDS DS 1F ENQ LIST AREA @YM6451P 39100002 QPTR DS 1F QNAME POINTER @YM6451P 39200002 RPTR DS 1F RNAME POINTER @YM6451P 39300002 QNM DS 2F QNAME AREA @YM6451P 39400002 RNM DS 2F RNAME AREA @YM6451P 39500002 EJECT 39660002 USING CVTMAP,R2CVTBAS Y02021 39720002 CVT DSECT=YES @YM2951P 39780002 EJECT 39840002 IGC0007F CSECT 39900002 EJECT 39960002 ******************************************************************* 40020002 *********************************************************************** 40080002 * * 40140002 * * 40200002 **** LOGREC RECORDER SECTION YM2952P 40260002 * * 40320002 * * 40380002 * * 40440002 *********************************************************************** 40500002 ******************************************************************* 40560002 BALR R3CBASE,ZEROREG SET UP BASE REGISTER 40620002 USING *,R3CBASE 40680002 USING PGMCKENT,R5WORK ESTAE BASE YM6801P 40710002 WRTREC L R2CVTBAS,CVTPTR LOAD CVT POINTER Y02021 40740002 XWRKA LR R11RECAD,R1PARM SAVE ADDR OF RECORD 40800002 LR R10SIZE,R0PARM SAVE SIZE OF RECORD 40860002 * NOTE: REG 5 HAS ADDR OF SVRB 40920002 * UPON ENTRY TO SVC 76 40980002 LA R5WORK,RBEXSAVE(R5WORK) ADDR OF SVRB EXTENSION 41040002 MVC ZERO(GETTABLN,R5WORK),MAINTAB MOVE GETMAIN TAB TO SVRB 41100002 LR R1PARM,R5WORK ADDR OF GETMAIN TABLE 41160002 LA R5WORK,FORTHWRD(R5WORK) ADDR OF GOTTEN CORE 41220002 ST R5WORK,SECDWRD(R1PARM) STORE IN TABLE 41280002 LR R5WORK,R1PARM RESTORE REG 5 41340002 SVC GETMAIN ISSUE SVC TO GET CORE 41400002 LTR R15CODE,R15CODE CHK FOR SUCCESSFUL GETMAIN 41460002 BZ STGAVAIL YES,CONTINUE RECORDING 41520002 LA R15CODE,STRNOTAV NO, SET CONDITION CODE 41580002 BR R14RETRN RETURN TO CALLER 41640002 STGAVAIL L R9LOGBAS,FORTHWRD(R5WORK) SET BASE OF WORK STG 41700002 XC WCFIELD(WCFLDLEN),WCFIELD CLEAR GOTTEN STORAGE 41760002 XC WCFIELD+STORSIZE(ONE24),WCFIELD+STORSIZE CLEAR @YM6451P 41790002 ST R14RETRN,RETURNAD SAVE RETURN ADDRESS Y02021 41820002 MVC STAELIST(SIXTEEN),ESTALIST GET LIST TO MAIN YM5198 41828002 LA R5WORK,ESTAPARM GET PARAM LIST ADDR YM5198 41836002 STM R9LOGBAS,R9LOGBAS,ESTAPARM SAVE GETMAIN PTR YM5198 41844002 LA R1PARM,STAELIST GET STAE LIST ADDR YM5198 41852002 L R6WORK,PGMCKADD GET ESTAE RTN ADDR YM5198 41860002 ESTAE (6),PARAM=(5),MF=(E,(1)) YM5198 41868002 LR R0PARM,R10SIZE GET RECORD SIZE Y02021 41880002 LR R1PARM,R11RECAD GET RECORD ADDR Y02021 41940002 LTR R0PARM,R0PARM TEST REG 0 FOR A MINUS 42000002 BNM STATUP NO-GO TO STAT UPDATE RTN Y02021 42060002 SPACE 1 @YM2953P 42120002 * SAVE R14 IN CASE ENTRY IS FOR A SHORT RE FROM THIS MODULE 42130002 * INPUTS FOR SHORT OBR ARE R0 AND R1 AT THIS POINT @YM6451P 42135002 SPACE 1 @YM2953P 42140002 WRTSTAT ST R14RETRN,SHORTRTN SAVE SHORT RETURN ADDR @YM2953P 42150002 LPR R0PARM,R0PARM SET RE SIZE POSITIVE @YM2953P 42160002 LR R10SIZE,R0PARM GET RECORD SIZE @YM2951P 42180002 * GET POINTER IN R11 IN CASE OF SHORT OBR @YM2953P 42187002 SPACE 1 @YM2953P 42194002 LR R11RECAD,R1PARM GET RECORD ADDR IN REG 11 42201002 TM TWO(R11RECAD),TIMEBIT TEST FOR TIME MACRO YM4105P 42208002 BZ NOTIME NO-BRANCH AROUND YM4105P 42215002 OI ELEVEN(R11RECAD),FOX YES-PUT X'0F' IN DATE YM4105P 42222002 NOTIME EQU * YM4105P 42229002 EJECT 42240002 *********************************************************************** 42300002 * THIS CODE RESOLVES ADCONS IN GETMAIN AREA AND ISSUES ENQ * 42360002 *********************************************************************** 42420002 LA R1PARM,ENQLSTDS ADDR OF FIRST WORD YM3795P 42480002 MVC ENQLSTDS(C28),NQCON MOVE ENQ TO GETMAIN @YM6451P 42540002 LA R8WORK,QNM GET ADDR OF QNAME @YM6451P 42600002 ST R8WORK,QPTR POINTER IN LIST @YM6451P 42660002 LA R8WORK,RNM GET ADDR OF RNAME @YM6451P 42720002 ST R8WORK,RPTR POINTER TO LIST @YM6451P 42780002 SVC ENQUEUE ISSUE ENQUEUE 42840002 OI INTSW,ENQIND ENQUEUE INDICATED YM5198 42870002 * 42900002 * THIS CODE RESOLVES ABSOLUTE MEMORY ADDRESS REFERENCES 42960002 * WHICH WILL NOT BE RESOLVED BY THE LOADER. 43020002 * 43080002 MVC CCWAREA(CHANPGLN),HDRCCW MOVE CHANNEL PROGRAM 43140002 LA R8WORK,CCWAREA FETCH ADR OF 1ST CCW IN CHAIN 43200002 ST R8WORK,CCW8 STORE ADR OF 1ST CCW IN CHAIN 43260002 MVI CCW8,TRANCHAN SET COMMAND CODE IN CCW 43320002 LA R8WORK,SEEKADR2 RESOLVE SEEK ADDR 43380002 ST R8WORK,CCWAREA STORE BACK FIRST CCW 43440002 MVI CCWAREA,SRCHID SET COMMAND CODE IN CCW 43500002 LA R8WORK,HDRREC RESOLVE HEADER RECD ADDR 43560002 ST R8WORK,CCW16 STORE HEADER RECD ADDR 43620002 MVI CCW16,READ SET COMMAND CODE IN CCW 43680002 EJECT 43740002 * PROGRAM SETUP TO FETCH HEADER RECORD 43800002 * 43860002 L R5WORK,CVTDCB LOAD ADDR OF LOGREC DCB 43920002 ST R5WORK,TPRIOB+IOBDCBPT STORE DCB ADDR IN IOB 43980002 L R5WORK,DCBDEBAD(R5WORK) LOAD ADDR OF LOGREC DEB 44040002 MVC SEEKADR(BBCCHH),DEBBCH(R5WORK) MOVE BBCCHH FROM DEB 44100002 MVI SEEKADR6,RECRDONE SET SEARCH FIELD ID TO ONE 44160002 * FOR REWRITE OF RECORD 44220002 LA R6WORK,TPRECB LOAD ECB ADDR 44280002 ST R6WORK,TPRIOB+IOBECBPT STORE ECB ADDR IN IOB 44340002 LA R6WORK,CCWAREA LOAD ADDR OF CCW'S 44400002 ST R6WORK,TPRIOB+IOBSTART STORE ADDR OF CHANNEL PGM IN IOB 44460002 MVI TPRIOB,IOBFLAG1 SET FLAG1 FIELD IN IOB 44520002 MVC EXCPSEK1(BBCCHH),SEEKADR PLACE SEEK ADDR FOLLOWING IOB 44580002 C R10SIZE,OUTIND Q/ IS IT OUTAGE REC @YL02021 44600002 BE OUTROUT YES--BR @YL02021 44620002 BAL R5WORK,ERR3B GET HEADER RECORD 44640002 CLI SFTYBYTS,GOODHDR COMPARE CHECK BYTE IN HDR TO 44700002 * SEE IF THIS IS A VALID HDR REC 44760002 BC UNEQUAL,ERROR2 BRANCH IF NOT A GOOD HEADER REC 44820002 * 44880002 *** ROUTINE TO PICK UP BUFFER & SET UP RECORD ***** 44940002 * 45000002 STH R10SIZE,CCW54 STORE COUNT IN CCW 45060002 STH R10SIZE,CTFLDDL SAVE RECORD SIZE 45120002 ST R11RECAD,CCW48 RECORD ADDR TO CCW 45180002 EJECT 45360002 * 45420002 * 45480002 ***** ROUTINE TO DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 45540002 * 45600002 L R5WORK,CVTDCB LOAD ADDR OF LOGREC DCB 45660002 L R5WORK,DCBDEBAD(R5WORK) LOAD ADDR OF LOGREC DEB 45720002 L R6WORK,DEBUCBAD(R5WORK) LOAD ADDR OF LOGREC UCB FROM DEB 45780002 SLR R7WORK,R7WORK CLEAR REGISTER 45840002 IC R7WORK,UCBUNTYP(R6WORK) EXTRACT UNIT TYPE FROM UCB 45900002 SLL R7WORK,ONE MULTI. UNIT TYPE BY 2 FOR INDEX 45960002 LH R5WORK,SUBCONST(R7WORK) LOAD SUB CONST FOR LOGREC DEVICE 46020002 SR R1LINK,R1LINK CLEAR R1 @YM8213P 46080002 ICM R1LINK,THREE,CTFLDDL GET SIZE OF RECORD @YM8213P 46110002 AR R5WORK,R1LINK ADD SIZE TO CONSTANT 46140002 CLC UPLIMIT(CCHH),LASTTR2 LAST TRACK? YA04218 46141002 BNE CAPTRK BR IF NOT EQUAL YA04218 46142002 CLI UCBUNTYP(R6WORK),UNEQUAL 2305-II YA04218 46143002 BC UNEQUAL,CAPTRK BR IF NO YA04218 46144002 AH R5WORK,SUBCONST(R7WORK) ADD SUBTR YA04218 46145002 LA R5WORK,ONE(R5WORK) CONST YA04218 46146002 CAPTRK EQU * YA04218 46147002 CH R5WORK,TRKCAP LENGTH EXCEED CAPACITY? 46150002 LA R8WORK,LOGRECFL SET UP CODE @YM6451P 46160002 BH RTRN YES-RETURN @YM7630P 46170002 MVC EXCPSEK7(ONE),LASTTR6 SET ID IN IOB SEEK FIELD 46200002 TPR50 LH R6WORK,BYTSREM NO OF BYTES REMAINING ON TRACK 46260002 SLR R6WORK,R5WORK SUBTRACT BYTES NEEDED FOR THIS 46320002 * RECORD FROM BYTES REMAINING 46380002 BC WILLFIT,TPR53 BR IF REC WILL FIT ON TRACK 46440002 * 46500002 * CODE TO CHECK IF THERE IS ANOTHER TRACK AVAIL ON THIS CYLINDER 46560002 * 46620002 LH R6WORK,LASTTR4 LOAD LAST USED HEAD POSITION 46680002 AL R6WORK,CONST1 ADD ONE TO HEAD POSITION 46740002 SLR R7WORK,R7WORK CLEAR REGISTER 46800002 IC R7WORK,TRKSPER INSERT FIRST BYT OF TRKS PER CYL 46860002 SLL R7WORK,EIGHT SHIFT LEFT ONE BYTE 46920002 IC R7WORK,TRKSPER1 INSERT 2ND BYTE OF TRKS PER CYL 46980002 CLR R7WORK,R6WORK COMP HD CT TO TRACKS PER CYL 47040002 BL TPR52 BR IF END OF CYLINDER 47100002 * 47160002 * CODE TO START WRITTING ON NEW TRACK 47220002 * 47280002 TPR51 STH R6WORK,LASTTR4 UPDATE HEAD CT IN HEADER REC 47340002 MVI EXCPSEK7,RECZERO SET SEEK FIELD IN IOB TO ZERO 47400002 MVI LASTTR6,RECZERO SET LAST REC ENTRY ID TO ZERO 47460002 MVC BYTSREM(TWO),TRKCAP SET REMG BYTES ON TRK TO MAX 47520002 B TPR50 REPEAT 47580002 * 47640002 * CODE TO START WRITTING ON A NEW CYLINDER 47700002 * 47760002 TPR52 SLR R6WORK,R6WORK CLEAR REG.(NEW TRACK NUM.) 47820002 LH R7WORK,LASTTR2 LOAD LAST USED CYLINDER POSITION 47880002 AL R7WORK,CONST1 ADD ONE TO UPDATE CYL COUNT 47940002 STH R7WORK,LASTTR2 STORE UPDATED CYLINDER COUNT 48000002 B TPR51 REPEAT 48060002 EJECT 48120002 * 48180002 * CODE TO CHECK AND UPDATE HEADER RECORD 48240002 * 48300002 TPR53 STH R6WORK,BYTSREM UPDATE BYTES REMG COUNT IN HDR 48360002 CLC UPLIMIT(CCHH),LASTTR2 COMP CCHH WITH LST CCHH IN DS 48420002 BC EODS,ERROR1 CURRENT CCHH IS ABOVE EXTENT 48480002 BC EQUAL,HERE BR-DONT SET HD SWITCH READ 48540002 MVI FLAGS,EOFFLG SET FLAG FOR NOT LAST TRACK 48600002 HERE SLR R5WORK,R5WORK CLEAR REGISTER 48660002 IC R5WORK,LASTTR6 LOAD ID OF LAST ID WRITTEN 48720002 AL R5WORK,CONST1 ADD ONE TO ID 48780002 STC R5WORK,LASTTR6 UPDATE LAST ID WRITTEN IN HDR 48840002 MVC CTFLDID(CCHHR),LASTTR2 SET UP COUNT FIELD ID FOR REC 48900002 * 48960002 *** THIS CODE RESOLVES ABSOLUTE MEMORY ADDRESS REFERENCES 49020002 * WHICH WILL NOT BE RESOLVED BY THE LOADER 49080002 * 49140002 LA R1LINK,CCW24 RESOLVE ADDR OF 1ST WRT CCW 49200002 ST R1LINK,CCW32 STORE ADDR 49260002 MVI CCW32,TRANCHAN RESTORE COMMAND CODE 49320002 LA R1LINK,EXCPSEK3 RESOLVE SEEK ADDR IN CCW 49380002 ST R1LINK,CCW24 STORE ADDR 49440002 MVI CCW24,SRCHID RESTORE COMMAND CODE 49500002 LA R1LINK,CTFIELD RESOLVE ADDR OF CCHHR,KEY,AND 49560002 * DATA LENGTH AREA 49620002 ST R1LINK,CCW40 STORE ADDR 49680002 MVI CCW40,WRTCTKYD RESTORE COMMAND CODE 49740002 * 49800002 **** ROUTINE TO SETUP AND WRITE THE COMPLETED RECORD ENTRY 49860002 * 49920002 LA R5WORK,CCW24 ADDR OF 1ST CCW IN WRITE CHAIN 49980002 ST R5WORK,TPRIOB+IOBSTART STORE CHAN PGM ADDR IN IOB 50040002 MVC EXCPSEK1(BBCCHH),LASTTTR PLACE SEEK ADDR FOLLOWING IOB 50100002 BAL R5WORK,ERR3B BRANCH TO EXCP TO WRITE RECORD 50160002 EJECT 50220002 * * 50280002 **** ROUTINE TO SETUP AND WRITE AN END OF FILE IF THIS IS THE **** 50340002 **** FIRST RECORD WRITTEN OR THIS RECORD WAS WRITTEN ON THE **** 50400002 **** LAST TRACK OF THE LOGREC DATA SET **** 50460002 * * 50520002 TM FLAGS,EOFFLG WAS RECORD WRITTEN ON LAST TRACK 50580002 BC NOTLST,SWITCH BRANCH IF RECORD WAS NOT WRITTEN 50640002 * ON THE LAST TRK(HEAD SWTNG REQ) 50700002 MVC EXCPSEK1(BBCCHHR),LASTTTR MOVE SEEK ADDR TO IOB 50760002 MVI CTFLD4D,LSTREC SET SEARCH ID TO END OF LAST TRK 50820002 B WRTEOF ... BR TO TERMINATION 50880002 SWITCH CLC EXCPSEK1(BBCCHHR),RESTART IS THIS THE FIRST RECORD 50940002 * WRITTEN ON LOGREC 51000002 BNE EWMSG NO- EOF HAS BEEN WRITTEN 51060002 XC EXCPSEK3(CCHHR),EXCPSEK3 Y E S CLEAR SEEK ADDR 51120002 MVC EXCPSEK3(CCHH),UPLIMIT MOVE THE LAST CCHH OF THE LOGREC 51180002 * DATA SET TO THE IOB SEEK FLD 51240002 MVI CTFLD4D,RECRDONE SET ID TO BEGINNING OF TRACK 51300002 WRTEOF MVC CTFLDID(CCHH),EXCPSEK3 MOVE CCHH TO EOF RECORD 51360002 XC CTFLDKEY(KEYDTALN),CTFLDKEY CLEAR RECORD COUNT FIELD 51420002 MVI CCW44,SUPINCLN RESTORE 'SILI' BIT IN CCW 51480002 BAL R5WORK,ERR3B BRANCH TO EXCP TO WRITE EOF 51540002 EJECT 51600002 ***** ROUTINE TO WRITE HEADER RECORD BACK TO SYS RES 51660002 * 51720002 EWMSG CLI ZERO(R11RECAD),HEX13 TEST FOR MCH RECORD @YM2951P 51780002 BNE EWMSGA NO-BRANCH AROUND @YM2951P 51800002 TM FIVE(R11RECAD),GOODHDR TEST FOR CLOBBER BIT @YM2951P 51820002 LA R15CODE,LOGRECFL SET RETURN CODE Y02021 51840002 BNZ RTRN YES-RETURN Y02021 51900002 EWMSGA TM EWMSW,EWMSGISU TEST FOR MSG @YM2951P 51960002 BO BYEWM YES-BYPASS CK FOR EWM 52020002 CLC LASTTR2(CCHH),EWMTRK CK IF 90% TRK HAS BEEN REACHED 52080002 BL BYEWM NO-BYPASS 52140002 BH WMSG TRK EXCEEDED GO WRT MSG 52200002 CLC BYTSREM(TWO),EWMCNT CK 90% BYTE COUNT REACHED 52260002 BH BYEWM NO-BYPASS 52320002 WMSG OI EWMSW,EWMSGISU SET EWM ISSUED SWITCH IN HDR 52380002 OI FLAGS,WRTEWMSG SET EWM NEEDED SWITCH IN FLAGS 52440002 BYEWM DS 0C 52500002 MVI CCW16,WRTDATA CMD CODE FOR REWRITE OF HDR 52560002 LA R5WORK,CCWAREA RESOLVE CCW ADDR'S 52620002 ST R5WORK,TPRIOB+IOBSTART STORE CCW ADDR IN IOB 52680002 MVC EXCPSEK1(BBCCHHR),SEEKADR PLACE SEEK ADDR FOLLOWING IOB 52740002 BAL R5WORK,ERR3B BRANCH TO EXCP TO REWRITE HDR 52800002 SR R15CODE,R15CODE SET ZERO CONDITION CODE 52860002 RTRN LA R1PARM,ENQLSTDS ADDR OF FIRST WORD @YM2951P 52920002 SVC DEQUEUE ISSUE DEQUEUE 52980002 NI INTSW,OFFENQ TURN OFF ENQ IND YM6767P 53010002 * 53040002 **** THE FOLLOWING TESTS AND BRANCHES ARE FOR EXITS REQUIRING 53100002 **** A MESSAGE TO BE WRITTEN TO THE OPERATOR CONSOLE. 53160002 * 53220002 TM FLAGS,EOEXTFLG TEST FOR END OF DATA SET ERROR 53280002 BO ERROR1A BR TO SET CODE FOR ERROR MSG 53340002 TM FLAGS,BADHDR TEST FOR BAD HDR REC ERROR 53400002 BO ERROR2A BR TO SET CODE FOR ERROR MSG 53460002 TM FLAGS,IOERR TEST FOR AN IO ERROR 53520002 BO ERROR4A BR TO SET CODE FOR ERROR MSG 53580002 TM FLAGS,WRTEWMSG TEST FOR EWM SWITCH 53640002 BO MSGEW BR TO SET CODE FOR WARNING MSG 53700002 TM INTSW,SHTSW TEST FOR SHORT RE @YM2951P 53710002 BZ EXIT NO-BRANCH @YM2951P 53720002 NI INTSW,SHTCLR YES-CLE AR SWITCH @YM2951P 53730002 L R14RETRN,SHORTRTN GET SHORT RETURN ADDR @YM2953P 53735002 BR R14RETRN GO CHECK FOR MORE @YM2951P 53740002 EXIT EQU * Y02021 53760002 OUT SR R8WORK,R8WORK CLEAR CODE REG Y02021 53820002 RTRNM ESTAE 0 @ZA06003 53880004 LR R1PARM,R9LOGBAS @ZA06003 53910004 L R14RETRN,RETURNAD GET RETURN POINTER Y02021 53940002 FREEMAIN R,LV=GETLNGTH,SP=SUBPLNM,A=(1) @YM2953P 54000002 LR R15CODE,R8WORK GET RETURN CODE Y02021 54060002 BR R14RETRN RETURN TO CALLER 54120002 EJECT 54180002 * 54240002 **** EXCP AND CHECK COMPLETION CODE IN ECB **** 54300002 * 54360002 ERR3B XC TPRECB(ECBLEN),TPRECB CLEAR ECB 54420002 LA R1LINK,TPRIOB LOAD ADDR OF IOB 54480002 SVC EXCP SUPERVISOR CALL TO EXCP 54540002 WAIT ONE,ECB=TPRECB 54600002 CLI TPRECB,INTCEPT COMP COMPLETION CODE IN ECB 54660002 BC EQUAL,ERR3B BR TO TRY EXCP AGAIN 54720002 CLI TPRECB,NORMAL COMPARE COMPLETION CODE IN ECB 54780002 BCR EQUAL,R5WORK RETURN IF COMPLETED OK 54840002 CLI TPRECB,EXTENTNG COMP COMPLETION CODE IN ECB 54900002 BC EQUAL,ERROR1 BR IF NOT WITHIN EXTENT 54960002 B ERROR4 BRANCH I/O FAILURE 55020002 * 55080002 *** THE FOLLOWING CODE SETS CONDITION CODES FOR THE MESSAGE MODULE 55140002 * 55200002 ERROR1A LA R12MSGCD,LOGFULL SET REG 12 TO MSG CODE 55260002 B EXITMSG EXIT TO MESSAGE MODULE 55320002 ERROR2A LA R12MSGCD,LOGFORER SET REG 12 TO MSG CODE 55380002 B EXITMSG EXIT TO MESSAGE MODULE 55440002 ERROR4A LA R12MSGCD,LOGIOERR SET REG 12 TO MSG CODE 55500002 B EXITMSG EXIT TO MESSAGE MODULE 55560002 MSGEW LA R12MSGCD,LOGNRFUL SET REG 12 TO MSG CODE 55620002 EXITMSG L R13RETAD,RETURNAD GET RETURN ADDR IN 13 @YM2951P 55680002 B MESS BRANCH TO MSG FUNCTION Y02021 55740002 * SET UP FOR MESSAGE @YM6451P 55800002 ERROR1 OI FLAGS,EOEXTFLG SET FLAG FOR END OF EXTENT ERROR 55860002 B RTRN BR TO DEQ 55920002 ERROR2 OI FLAGS,BADHDR SET FLAG FOR INCORRECT HDR REC 55980002 B RTRN BR TO DEQ 56040002 ERROR4 OI FLAGS,IOERR SET FLAG FOR AN IO ERROR 56100002 B RTRN BR TO DEQ 56160002 * 56220002 OUTROUT MVI SEEKADR6,TWO SET TO WRITE 2ND REC @YL02021 56230002 MVC HDRREC(L40),ZERO(R11RECAD) SET TO WRITE OUTAGE @YL02021 56240002 B BYEWM BR TO WRITE RECORD @YL02021 56250002 EJECT 56280002 *********************************************************************** 56340002 * * 56400002 **** STATISTICS UPDATE SECTION YM2952P 56460002 * * 56520002 *********************************************************************** 56580002 SPACE 2 56640002 STATUP LR R7WORK,R0PARM INPUT PARM TO REG 7 Y02021 56700002 SPACE 1 56820002 ***** SAVE INPUT PARAMETER AND TEST SAME 56880002 * NOTE: REGISTER 7 HAS THE INPUT 56940002 * PARAMETER PASSED FROM 57000002 * IFBSTAT UPON ENTRY. 57060002 STH R7WORK,INPUPARM SAVE INPUT PARAMETER 57120002 LTR R7WORK,R7WORK TEST SIGN OF INPUT PARM 57180002 BZ SVC76 ENTRY WAS FOR EOD SERVICE 57240002 CLI INPUPARM+ONE,SDRREC TEST IF INPUT PARM IS 4 57300002 BE SVC76 ENTRY WAS FOR SDR SERVICE 57360002 CLI INPUPARM+ONE,IPLREC TEST IF INPUT PARM IS 8 57420002 BE WTIPLEOD ENTRY FOR RDE SERVICE 57480002 CLI INPUPARM+ONE,C12 Q/IS REQUEST FOR OUTAGE 57500002 BE OUTFLG BR TO TURN ON FLAG @YL02021 57520002 B EXIT EXIT INPUT PARM IS WRONG 57540002 SPACE 1 57600002 SPACE 1 57660002 * LOAD FIRST UCB ADDRESS FROM THE UCB ADDRESS LIST PORTION 57720002 * OF THE UCB LOOKUP TABLE 57780002 SPACE 57840002 SVC76 L R4WORK,CVTILK2 LOAD ADDR OF TWO BYTE UCB PTRS 57900002 EJECT 57960002 ***** TEST ALL MAIN STORAGE STAT TABLES FOR ZERO 58020002 SR R5WORK,R5WORK CLEAR REGISTER 58050003 SPACE 1 58080002 STATLKUP ICM R5WORK,X'3',ZERO(R4WORK) LOAD ADDR OF UCB @ZM0949I 58180003 LA R4WORK,NXTUCBAD(R4WORK) UPDATE UCB ADDRESS POINTER 58200002 BZ STATLKUP BRANCH-UCB ADDR IS ZERO 58380002 CLM R5WORK,X'3',FOXES TEST FOR END OF UCB ADDR LIST 58400003 BE WTIPLEOD YES,BRANCH 58420003 XR R6WORK,R6WORK CLEAR REGISTER 58440002 L R8WORK,HEX14(R5WORK) GET UCB EXTENSION PTR @YM5028P 58500002 IC R6WORK,ONE(R8WORK) GET STATAB INDEX @YM5028P 58530002 SPACE 58560002 CLC TYASPN(DEVTPE),UCBDEVCL(R5WORK) TEST FOR ASPEN YM3420 58620002 BNE TESTOAK NO, CHK. MSS @ZA04252 59040003 LA R1PARM,ASPNPARM SET PARM FOR SVC91 PT0878 59100002 B ISNEWDEV BRANCH TO READ BUF LOG PT0878 59160002 TESTOAK CLC SS1(DEVTPE),UCBDEVCL(R5WORK) TEST FOR OAK @ZA04252 59170003 BNE MERLZ NO, CHK. MERLIN-ZEUS @ZA04252 59180003 SR R1PARM,R1PARM CLEAR REG 1 @ZA04252 59190003 ICM R1PARM,X'3',FOXES LOAD CODE FOR SS1 @ZA04252 59200003 B ISNEWDEV GO FOR BUFFERED LOG @ZA04252 59210003 MERLZ LA R10WORK,DEVNUM NUM OF BUF LOG DEVICES Y02021 59220002 LA R8WORK,NEWDEVTB LOAD ADDR OF DEVICE TABLE 59280002 CHECKNEW CLC ZERO(DEVTPE,R8WORK),UCBDEVCL(R5WORK) IS THIS A BUFFERD 59340002 * LOG DEVICE 59400002 BE ISNEWDEV YES BRANCH TO READ BUF LOG 59460002 LA R8WORK,DEVTPE(R8WORK) LOAD ADDR OF NXT DEV TYPE CODE 59520002 BCT R10WORK,CHECKNEW BRANCH IF MORE Y02021 59580002 ALSOSDR EQU * @SKINNER 59610004 SPACE 59640002 LTR R6WORK,R6WORK TEST FOR ZERO STATAB YM3420 59700002 BZ STATLKUP YES-GET NEXT YM3420 59730002 L R7WORK,CVTSTB LOAD ADDR OF STAT TABS 59760002 LOOP1 CLM R5WORK,X'3',ZERO(R7WORK) IS DEVICE IN THIS SEC OF 59820003 * STAT TAB'S 59880002 BL LOOP3 OK-BRANCH YM3420 59940002 LA R7WORK,NXTSTATA(R7WORK) LOAD ADDR OF THE FIRST UCB IN 60000002 * THE NEXT STAT TAB SECTION 60060002 LA R6WORK,NXTSDRST(R6WORK) BUMP STAT TAB OFFSET PAST THIS 60120002 * SECTION 60180002 B LOOP1 LOOP TO CHECK THIS SECT. 60240002 EJECT 60300002 ISNEWDEV TM SRTESTAT(R5WORK),ONLINE IS THIS DEVICE ONLINE 60360002 BZ STATLKUP NO, GO LOOK AT NEXT UCB 60420002 LNR R0PARM,R5WORK PREPARE TO PASS ADDRESS OF 60480002 * UCB TO SVC91 60540002 SVC VOLSTAT ISSUE VOLUME STATUS SVC 60600002 SR R1PARM,R1PARM CLEAR SVC91 PARM 60660002 CLC UCBDEVCL(TWO,R5WORK),UR3800 @SKINNER 60680004 BE ALSOSDR @SKINNER 60700004 B STATLKUP BRANCH TO CONTINUE STAT LOOKUP 60720002 SPACE 60780002 LOOP3 MH R6WORK,MULTICON MULTIPLY BY TEN @YM6451P 60840002 AL R6WORK,CVTSTB ADD ADDR OF STAT TABS TO OFFSET 61020002 TM UCBFL5(R5WORK),UCBNEWST TEST FOR NEW TYPE STAT 61080002 BO NEWSTAT BR-NEWSTAT 61140002 NC ZERO(SDRDATA,R6WORK),ZERO(R6WORK) CHK FOR ZERO STAT FLD 61200002 BNZ STATMOVE BR-STAT FIELD NOT ZERO 61260002 * 61320002 B STATLKUP GO CHECK FOR MORE @YM2953P 61720002 SPACE 62220002 NEWSTAT IC R8WORK,ZERO(R6WORK) GET FLAGS BYTE X03127 62280002 N R8WORK,MASK SAVE LOW ORDER COUNT X03127 62340002 MH R8WORK,MULTICON MULTIPLY BY 10 X03127 62400002 AH R8WORK,MULTICON ADD 10 X03127 62460002 LR R12WORK,R8WORK SAVE COUNT X03127 62520002 BCTR R8WORK,ZERO REDUCE COUNT BY 1 X03127 62580002 TM ZERO(R6WORK),NOCLR TEST CLEAR OPTION BYTE X03127 62640002 BO NEWSTAT1 ONE-DO NOT TEST BYTE 1 X03127 62700002 NC ONE(ONE,R6WORK),ONE(R6WORK) CHECK FOR STAT CNT X03127 62760002 BNZ NEWSTAT2 YES-GO COMPLETE RE X03127 62820002 NEWSTAT1 BCTR R8WORK,ZERO DECREMENT COUNT X03127 62880002 BCTR R8WORK,ZERO DECREMENT COUNT X03127 62940002 EX R8WORK,TSTSTAT TEST FOR ANY COUNT X03127 63000002 BZ STATLKUP ZERO-CHECK NEXT STAT Y02021 63060002 LA R8WORK,TWO(R8WORK) BUMP COUNT TWO X03127 63120002 NEWSTAT2 EX R8WORK,MOVESTAT MOVE STATS TO RE X03127 63180002 BCTR R8WORK,ZERO DECREMENT COUNT X03127 63240002 BCTR R8WORK,ZERO DECREMENT COUNT X03127 63300002 EX R8WORK,CLRSTAT CLEAR STAT ENTRY X03127 63360002 STC R12WORK,SDRCNT STORE CNT IN RECORD X03127 63420002 B EODOBR GO COMPLETE X03127 63480002 SPACE 63540002 CLRSTAT XC TWO(ZERO,R6WORK),TWO(R6WORK) CLEAR STATS X03127 63600002 SPACE 63660002 MOVESTAT MVC SDR(ZERO),ZERO(R6WORK) MOVE STATS TO RECORD X03127 63720002 SPACE 63780002 TSTSTAT NC TWO(ZERO,R6WORK),TWO(R6WORK) TEST STATS X03127 63840002 SPACE 63900002 EJECT 63960002 STATMOVE MVC SDR(SDRLEN),ZERO(R6WORK) MOVE STAT COUNTERS TO RECORD 64020002 XC ZERO(SDRDATA,R6WORK),ZERO(R6WORK) CLR STAT COUNTERS 64080002 CNTSDR MVI SDRCNT,SDRLEN SET SDR COUNT IN RECORD TO 10 64140002 EODOBR TM ZERO(R6WORK),NOCLR TEST CLEAR OPTION BIT 64200002 BO NCLROPT NO-BYPASS CLR OPT BYTE 64260002 MVI ONE(R6WORK),OFF CLEAR OPTION BYTE 64320002 NCLROPT DS 0C 64380002 ***** CONSTRUCT OBR/EOD RECORD 64440002 MVI CLASRC,OBRREC SET RECORD TYPE - CLASS & SOURCE 64500002 OI SW2,EODSHORT SET SWITCH FIELD IN RECORD 64560002 L R12WORK,CVTPTR LOAD CVT POINTER 64620002 SH R12WORK,CONST4 SUBTRACT TO POINT TO REL NUM 64680002 PACK WORKIOB(WORKLEN),ZERO(RELLN,R12WORK) PACK RELEASE NUM 64740002 CVB R12WORK,WORKIOB CONVERT REL # TO BINARY 64800002 STC R12WORK,OPSYS STORE SYS REL NUM IN RECORD 64860002 OI OPSYS,VS2IND INDICATE VS2 @YM6451P 64920002 TIME DEC GET TIME 64980002 ST R0PARM,TIME STORE CURRENT TIME IN RECORD 65040002 ST R1PARM,DATE GET DATE IN RECORD @YM6451P 65100002 OI SW1,TIMEBIT SET TIME MACRO USED @YM6451P 65130002 STIDP CPUSER STORE CPU ID IN RECORD 65160002 MVC DEVTYP(WORD),UCBTYP(R5WORK) MOVE DEV TYP FLD TO RECORD 65220002 * 65280002 * THE FOLLOWING ROUTINE EXTRACTS THE EBCDIC CUA FROM THE 65340002 * UCB,CONVERTS IT TO BINARY, AND STORES IT IN THE RECORD 65400002 * 65460002 LA R11CNTRL,CUANUM LOAD NUM OF DIGITS IN A CUA 65520002 L R6WORK,UCBNAME(R5WORK) LOAD PRI CUA Y02021 65580002 LABL1 STC R6WORK,WORKIOB STORE LOW ORDER BYTE Y02021 65640002 TM WORKIOB,NUMARC IS DIGIT NUMERIC 65700002 BO LABL2 YES- USE LOW 4 BITS 65760002 LA R6WORK,MAKBIN(R6WORK) NO-ADD 9 TO LOW ORDER YM2952P 65820002 LABL2 SRDL R6WORK,FOUR SHIFT BIN DIG TO REG 7 Y02021 65880002 SRL R6WORK,FOUR SHIFT OUT SIGN Y02021 65940002 BCT R11CNTRL,LABL1 BRANCH IF THERE ARE MORE DIGITS 66000002 SRL R7WORK,TOEND SHIFT CUA TO LOW ORDER Y02021 66060002 STH R7WORK,CUA STORE CUA IN RECORD Y02021 66120002 OI INTSW,SHTSW SET SHORT SWITCH @YM2951P 66870002 SPACE 1 66900002 SR R1PARM,R1PARM CLEAR PARM REG X03127 66960002 IC R1PARM,SDRCNT GET STAT LENGTH X03127 67020002 LA R0PARM,HDR(R1PARM) GET RECORD COUNT X03127 67080002 RECSET LA R1PARM,RECORD LOAD ADDRESS OF RECORD 67140002 LNR R0PARM,R0PARM LOAD NEG LENGTH OF RECORD 67200002 STM R4WORK,R15CODE,SAVEREGS SAVE REGISTERS @YM2951P 67260002 BAL R14RETRN,WRTSTAT GO WRITE RECORD Y02021 67320002 LM R4WORK,R15CODE,SAVEREGS RESTORE REGISTERS @YM2951P 67380002 B STATLKUP CHECK NEXT STAT Y02021 67440002 SPACE 2 67500002 WTIPLEOD CLI INPUPARM+ONE,SDRREC TEST IF INPUT PARM IS 4 67560002 BE EXIT EXIT INPUT WAS FROM EREP 67620002 BH FIFTY BR INPUT PARM IS 8 (IPL) 67680002 MVI INPUPARM+ONE,EODPARM SET PARM FOR EOD SERVICE 67740002 B MAKEREC GO RECORD RECORD Y02021 67800002 OUTFLG OI INPUPARM,OUTFLAG TURN ON OUTAGE FLAG @YL02021 67810002 MVI INPUPARM+ONE,EODPARM SET PARM FOR EOD SERVICE 67820002 XC RECORD(C40),RECORD CLEAR REC AREA FOR OUTAGE 67830002 B MAKEREC GO RECORD @YL02021 67840002 FIFTY MVI INPUPARM+ONE,IPLPARM SET PARM FOR IPL SERVICE 67860002 * @YM6451P 67920002 ***** TEST FOR IPL OR EOD @YM6451P 68420002 * @YM6451P 68920002 IPLEOD CLI INPUPARM+ONE,EODPARM IS ENTRY FOR EOD Y02021 69540002 BE MAKEREC YES - BRANCH 69600002 BAL R6WORK,RDOUTREC READ OUTAGE REC & SAVE TIME 69630002 MVC WRTCCW(BLDLST),RDELST MOVE BLDL LIST Y02021 69660002 LA R0PARM,WRTCCW LOAD ADDR OF BLDL LIST 69720002 L R1PARM,CVTLINK LOAD ADDR OF LINKLIB DCB 69780002 SVC BLDL ISSUE BLDL TO SEE IF 'RDE' 69840002 * IS IN THE SYSTEM 69900002 LTR R15CODE,R15CODE IS MODULE PRESENT 69960002 BZ REISSUE YES-GO PUT OUT MESSAGE Y02021 70020002 SR R5WORK,R5WORK CLEAR REG 5 @YM6451P 70050002 B REPLYOK GO CONSTRUCT IPL RECORD 70080002 ***** PERFORM INFORMATION GATHERING ROUTINE FOR RECORD 70140002 SPACE 70200002 REISSUE MVC WTORMESS(IMSGSIZE),INFOMSG MOVE MESSAGE 70260002 LA R4WORK,WTOREPLY LOAD ADDR OF REPLY AREA 70320002 ST R4WORK,WTORADDR STORE ADDR IN WTOR STRUCTURE 70380002 MVI WTORLGTH,REPLYLEN STORE LENGTH OF REPLY 70440002 LA R4WORK,WORKECB LOAD ADDR OF ECB 70500002 ST R4WORK,WTORECB STORE ADDR IN WTOR STRUCTURE 70560002 XC WORKECB,WORKECB CLEAR ECB 70620002 LA R1PARM,WTORAREA LOAD ADDR OF WTOR STRUCTURE 70680002 SVC WTOR WRITE OPERATOR WITH REPLY 70740002 WAIT ONE,ECB=WORKECB WAIT FOR WTOR COMPLETION 70800002 SPACE 70860002 LA R11CNTRL,REASONUM SET UP FOR LOOP CONTROL 70920002 LA R5WORK,REPLYNM LOAD ADDR OF REASON CODE TABLE 70980002 RECHECK1 CLC WTOREPLY(REASONLN),ZERO(R5WORK) IS THIS A VALID REPLY 71040002 BE SECONDHF YES - CHECK 2ND HALF OF REPLY 71100002 LA R5WORK,REASONLN(R5WORK) BUMP POINTER TO NEXT VALID REPLY 71160002 BCT R11CNTRL,RECHECK1 BRANCH IF THERE ARE MORE 71220002 CLI WTOREPLY,U DID OPERATOR REPLY 'U' 71280002 BNE INFORM NO--INFORM OPERATOR 71340002 XC RECORD(IPLSIZE),RECORD YES - CLEAR RECORD AREA 71400002 MVC REASON(REASONLN),DEFAULT MOVE DEFAULT CODE TO RECORD 71460002 B CONSTHDR BR TO CONSTRUCT HEADER 71520002 SPACE 71580002 ***** INFORM OPERATOR AND REISSUE WTOR ROUTINE 71640002 INFORM MVC WTOAREA(ERRMSGLN),ERRMSG3 MOVE IN ERROR MESSAGE 71700002 LA R1PARM,WTOAREA LOAD ADDR OF MESSAGE 71760002 SVC WTO WRITE TO OPERATOR 71820002 B REISSUE BR-TO REISSUE WTOR 71880002 EJECT 71940002 SECONDHF LA R11CNTRL,IDNUM SET UP FOR LOOP CONTROL 72000002 LA R5WORK,REPLY00 LOAD ADDR OF VALID SUB ID TABLE 72060002 RECHECK2 CLC SUBIDRPL(IDLEN),ZERO(R5WORK) IS THIS A VALID REPLY 72120002 BE REPLYOK BR-TWO VALID REPLIES 72180002 LA R5WORK,TABENTRY(R5WORK) BUMP POINTER TO NEXT VALID SUBID 72240002 BCT R11CNTRL,RECHECK2 BRANCH IF THERE ARE MORE 72300002 B INFORM BR-NO MATCH ON 2ND HALF 72360002 SPACE 72420002 ***** CONSTRUCT IPL OR EOD RECORD FOR SYS1.LOGREC 72480002 REPLYOK XC RECORD(IPLSIZE),RECORD CLEAR RECORD AREA 72540002 MVC REASON(REASONLN),WTOREPLY MOVE IPL REASON TO RECORD 72600002 MVC SUBSYSID(ONE),IDLEN(R5WORK) MOVE SUB ID TO RECORD 72660002 B CONSTHDR BR.TO CONSTRUCT HEADER 72720002 RDOUTREC MVC CCWAREA(CHANPGLN),HDRCCW MOVE CHAN PROGRAM @YL02021 72721002 LA R8WORK,CCWAREA ADDR OF 1ST @YL02021 72722002 ST R8WORK,CCW8 CCW IN CHAIN @YL02021 72723002 MVI CCW8,TRANCHAN SET COMMAND CODE IN CCW 72724002 LA R8WORK,SEEKADR2 RESOLVE SEEK ADDR @YL02021 72725002 ST R8WORK,CCWAREA STORE IN 1ST CCW @YL02021 72726002 MVI CCWAREA,SRCHID SET COMMAND CODE @YL02021 72727002 LA R8WORK,HDRREC HDR REC ADDR @YL02021 72728002 ST R8WORK,CCW16 TO CCW @YL02021 72729002 MVI CCW16,READ SET READ OP @YL02021 72730002 L R8WORK,CVTDCB ADDR OF SER DCB @YL02021 72731002 ST R8WORK,TPRIOB+IOBDCBPT TO IOB @YL02021 72732002 L R8WORK,DCBDEBAD(R8WORK) ADDR OF DEB @YL02021 72733002 MVC SEEKADR(BBCCHH),DEBBCH(R8WORK) MOVE BBCCHH FROM DEB 72734002 MVI SEEKADR6,REC2 SET SRCH ID TO 2 @YL02021 72735002 LA R8WORK,TPRECB ECB ADDR @YL02021 72736002 ST R8WORK,TPRIOB+IOBECBPT TO IOB @YL02021 72737002 LA R8WORK,CCWAREA ADDR OF CCW'S @YL02021 72738002 ST R8WORK,TPRIOB+IOBSTART TO IOB @YL02021 72739002 MVI TPRIOB,IOBFLAG1 SET FLAG1 FIELD IN IOB @YL02021 72740002 MVC EXCPSEK1(BBCCHH),SEEKADR SET SEEK ADDR @YL02021 72741002 READREC XC TPRECB(ECBLEN),TPRECB CLEAR ECB @YL02021 72742002 LA R1LINK,TPRIOB ADDR OF IOB @YL02021 72743002 SVC EXCP EXCP @YL02021 72744002 WAIT ONE,ECB=TPRECB WAIT @YL02021 72745002 CLI TPRECB,INTCEPT Q/ INTERCEPT @YL02021 72746002 BE READREC YES -READ AGAIN @YL02021 72747002 CLI TPRECB,NORMAL Q/ READ OK @YL02021 72748002 BE MOVETIME YES @YL02021 72749002 BR R6WORK RETURN @YL02021 72750002 MOVETIME MVC OUTSAVE(C8),TMESTMP SAVE OUTAGE INFO @YM6451P 72751002 BR R6WORK RETURN @YL02021 72752002 EJECT 72780002 MAKEREC XC RECORD(EODSIZE),RECORD CLEAR RECORD AREA 72840002 SPACE 72900002 CONSTHDR STIDP CPUSER STORE CPU ID & MODEL IN RECORD 72960002 SPACE 73020002 LR R4WORK,R2CVTBAS LOAD ADDR OF CVT 73080002 SH R4WORK,CONST4 SUBTRACT TO FIND REL # ADDR 73140002 MVC INCREL(ONE),INCRDIS(R4WORK) MOVE INCREMENTAL REL 73200002 * NUMBER TO RECORD 73260002 PACK CONVERT,ZERO(RELLN,R4WORK) PACK REL NUM 73320002 CVB R4WORK,CONVERT CONVERT REL NUM TO BINARY 73380002 XC CONVERT(EIGHT),CONVERT CLEAR WORK AREA YM2955P 73410002 STC R4WORK,OPSYS STORE REL NUM IN RECORD 73440002 OI OPSYS,VS2IND INDICATE VS2 @YM6451P 73470002 SPACE 73500002 TIME DEC ISSUE TIME MACRO 73560002 ST R0PARM,TIME STORE TIME OF DAY IN RECORD 73620002 ST R1PARM,DATE STORE DATE IN RECORD 73680002 OI SW1,TIMEBIT SET TIME MACRO USED SWITCH 73740002 SPACE 73800002 CLI INPUPARM+ONE,EODPARM IS THIS AN EOD RECORD 73860002 BE PREPARE BR-EOD IS HEADER ONLY REC 73920002 MVC HIGHADDR(WORD),CVTMZ00 MOVE HIGHEST STOR ADD 73980002 SPACE 74040002 L R4WORK,CVTDCB GET ADDR OF LOGREC DCB Y02021 74100002 SH R4WORK,CONST8 SUB TO PTR TO CHAN ASSN TAB ADDR 74160002 L R4WORK,ZERO(R4WORK) LOAD ADDR OF CHAN ASSIGNMENT TAB 74220002 MVC CHANASSN(CHASTBLN),ZERO(R4WORK) MOVE CHANNEL ASSIGNMNT 74280002 * TABLE TO RECORD 74340002 MVC OUTAGE(C8),OUTSAVE FETCH OUTAGE @YM6451P 74370002 OUTON OI SW2,OUTFLAG TURN ON OUTAGE IND @YM6452P 74380002 SPACE 74400002 OI CLASRC,IPLTYPE SET RECORD TYPE - CLASS & SOUR 74460002 LA R0PARM,IPLSIZE LOAD RECORD LENGTH 74520002 B IPL BRANCH TO ISSUE SVC76 74580002 SPACE 74640002 PREPARE OI CLASRC,EODREC SET RECORD TYPE - CLASS & SOURCE 74700002 LA R0PARM,EODSIZE LOAD RECORD LENGTH 74760002 SPACE 74820002 IPL LA R1PARM,RECORD LOAD ADDR OF RECORD 74880002 TM INPUPARM,X80 Q/ REQ TO WRITE OUTAGE 74900002 BO OUTAGEWT YES- BR @YL02021 74920002 LOADNEG LNR R0PARM,R0PARM LOAD NEG(-) LENGTH 74940002 B WRTSTAT GO WRITE RECORD Y02021 75000002 OUTAGEWT L R0PARM,OUTIND INDICATE OUTAGE @YM6451P 75010002 MVI CLASRC,OUTTYPE INDICATE OUTAGE REQUEST 75030002 B LOADNEG BR TO WRITE @YL02021 75040002 OUTIND DC F'1' @YL02021 75050002 EJECT 75060002 *********************************************************************** 75120002 * * 75180002 **** MESSAGE SECTION YM2952P 75240002 * * 75300002 *********************************************************************** 75360002 MESS LR R14RETRN,R13RETAD LOAD RETURN ADDRESS 75420002 TM CVTOPTA,CVTNIP IS NIP IN PROCESS 75480002 BO OUT YES - NO WTO'S - RETURN 75540002 LA R5WORK,INDEX(R12MSGCD) SET UP REG FOR BRACH TABLE ENTRY 75600002 BR R5WORK BRANCH INTO BRANCH TABLE 75660002 SPACE 75720002 INDEX B ERROR1M ERROR 75780002 B ERROR2M MSG 75840002 B ERROR4M BRANCH 75900002 B MSGEWM TABLE 75960002 * 76020002 * 76080002 GETIME TIME DEC GET TIME 76140002 SPACE 76200002 ST R0PARM,SAVETIME SAVE TIME 76260002 UNPK UNPKHH(UNPKTIME),SAVETIME(PACKTIME) UNPACK THE TIME 76320002 SPACE 76380002 MVC FORHH(HH),UNPKHH MOVE HOURS - HH 76440002 MVI FRSTDOT,DOT INSERT DELIMETER AFTER HH 76500002 SPACE 76560002 MVC FORMM(MM),UNPKMM MOVE MINUTES - MM 76620002 MVI SECDOT,DOT INSERT DELIMETER AFTER MM 76680002 * SECONDS ARE ALREADY IN POSITION 76740002 MVI UNPKTEN,BLANK BLANK OUT TENTHS OF A SECOND 76800002 BR R6LINK RETURN TO CALLING ROUTINE 76860002 * 76920002 * 76980002 ERROR1M MVC MSGAREA(MSG2LEN),ERRMSG2 MOVE LOG FULL MSG 77040002 BAL R6LINK,GETIME BRANCH TO GET TIME 77100002 MVC FULLTIME(HHMMSS),FORHH MOVE TIME TO MSG 77160002 LA R1PARM,MSGAREA LOAD ADDR OF MSG 77220002 SVC WTO ISSUE WRITE TO OPERATOR 77280002 LA R8WORK,LOGRECFL SAVE LOG FULL COND CODE 77340002 B RTRNM BRANCH TO FREEMAIN AND RETURN 77400002 SPACE 2 77460002 ERROR2M MVC MSGAREA(MSG5LEN),ERRMSG5 MOVE FORMAT ERR MSG 77520002 BAL R6LINK,GETIME BRANCH TO GET TIME 77580002 MVC FORMTIME(HHMMSS),FORHH MOVE TIME TO MSG 77640002 B ERREXIT1 BRANCH TO WTO 77700002 SPACE 2 77760002 ERROR4M MVC MSGAREA(MSG1LEN),ERRMSG1 MOVE I/O ERR MSG 77820002 SR R5WORK,R5WORK CLEAR R5 @YM6452P 77822002 LH R5WORK,TPRIOB+IOBSENS1 LOAD SENSE BYTES @YM6452P 77824002 SLL R5WORK,FOUR SHIFT LEFT 4 BITS @YM6452P 77826002 STC R5WORK,SENSBYT3 STORE CHAR @YM6452P 77828002 SRL R5WORK,EIGHT SHIFT OUT END CHAR @YM6452P 77830002 STC R5WORK,SENSBYT2 STORE CHAR @YM6452P 77832002 SRL R5WORK,EIGHT SHIFT OUT END CHAR @YM6452P 77834002 STC R5WORK,SENSBYT1 STORE CHAR @YM6452P 77836002 OI SENSBYT3,FOX PUT IN 'F' @YM6452P 77838002 UNPK SENSBYT1(FOUR),SENSBYT1(THREE) CHG SENSE TO NOS. 77840002 TR SENSBYT1(FOUR),CONVT CHANGE NOS. TO CHARS @YM6452P 77842002 LH R5WORK,TPRIOB+IOBSTAT1 LOAD STATUS BYTES @YM6452P 77844002 SLL R5WORK,FOUR SHIFT LEFT 4 BITS @YM6452P 77846002 STC R5WORK,STATBYT3 STORE CHAR @YM6452P 77848002 SRL R5WORK,EIGHT SHIFT OUT END CHAR @YM6452P 77850002 STC R5WORK,STATBYT2 STORE @YM6452P 77852002 SRL R5WORK,EIGHT SHIFT OUT END CHAR @YM6452P 77854002 STC R5WORK,STATBYT1 STORE @YM6452P 77856002 OI STATBYT3,FOX PUT IN 'F' @YM6452P 77858002 UNPK STATBYT1(FOUR),STATBYT1(THREE) CHG STATUS TO NOS 77860002 TR STATBYT1(FOUR),CONVT CHANGE TO CHAR @YM6452P 77862002 BAL R6LINK,GETIME BRANCH TO GET TIME 77880002 MVC IOERTIME(HHMMSS),FORHH MOVE TIME TO MSG 77940002 SPACE 78000002 ERREXIT1 LA R1PARM,MSGAREA LOAD ADDRESS OF MSG 78060002 SVC WTO ISSUE WRITE TO OPERATOR 78120002 LA R8WORK,IOERROR SAVE I/O ERR COND CODE 78180002 B RTRNM BRANCH TO FREEMAIN AND RETURN 78240002 SPACE 2 78300002 MSGEWM MVC MSGAREA(MSG6LEN),ERRMSG6 MOVE EARLY WARNING MSG 78360002 LA R1PARM,MSGAREA LOAD ADDRESS OF MSG 78420002 SVC WTO ISSUE WRITE TO OPERATOR 78480002 SPACE 1 @YM2953P 78486002 * CLEAR WRTEWMSG FLAG TO PREVENT DUP MSG IN CASE OF SHORT RE 78492002 SPACE 1 @YM2953P 78498002 NI FLAGS,SHTCLR CLEAR WRTEWMSG FLAG @YM2953P 78504002 TM INTSW,SHTSW TEST FOR SHORT RE @YM2953P 78510002 BZ OUT NO-RETURN TO CALLER @YM2953P 78516002 NI INTSW,SHTCLR CLEAR SHORT RE INDICATOR 78522002 L R14RETRN,SHORTRTN GET SHORT RE RETURN ADDR 78528002 BR R14RETRN GO CHECK FOR MORE @YM2953P 78534002 EJECT 78540002 * 78600002 ***** CONSTANTS AND CCW'S 78660002 * 78720002 * 78780002 HDRCCW CCW 49,0,X'40',5 SEARCH ON ID 78840002 TIC CCW 8,0,X'40',1 TRANSFER IN CHANNEL 78900002 TIC2 CCW 6,0,X'00',40 READ HDR RECORD 78960002 SPACE 2 79020002 WTCCW CCW 49,0,X'40',5 SEARCH ON ID EQUAL 79080002 CCW 8,0,X'40',1 TRANSFER IN CHANNEL 79140002 CCW 29,0,X'80',8 WRT CKD 8 BYTES DATA CHAINED 79200002 CCW 29,0,X'20',0 TO RECORD ENTRY 79260002 DS 0F 79320002 CONST1 DC XL4'1' CONSTANT OF ONE 79440002 SUBCONST DC XL2'10' TABLE OF SUBTRACTION CONSTANTS 79500002 DC AL2(085) 2311 SUBTRACT CONSTANT 79560002 DC AL2(133) 2301 SUBTRACT CONSTANT 79620002 DC AL2(108) 2303 SUBTRACT CONSTANT 79680002 DC AL2(085) 2302 SUBTRACT CONSTANT 79740002 DC AL2(107) 2321 SUBTRACT CONSTANT 79800002 DC AL2(432) 2305-I SUBTRACT CONSTANT 79860002 DC AL2(198) 2305-II SUBTRACT CONSTANT 79920002 DC AL2(122) 2314 SUBTRACT CONSTANT 79980002 DC AL2(135) 3330 SUBTRACT CONSTANT 80040002 DC AL2(167) 3340 SUBTRACT CONST XL03130 80100002 DC AL2(183) 3350 SUBTRACT CONST @Z40RIVS 80160004 DC AL2(000) DUMMY SUBTRACT CONST XL03145 80220002 DC AL2(135) 3330-1 SUBTRACT CONST XL03145 80280002 NQCON DC X'C0084000' 80340003 DC 2F'0' POINTER AREA @YM6451P 80370002 RESID DC CL8'LOGREC ' 80400002 LOGREC DC CL8'RECORDER' 80460002 MAINTAB DC F'380' GETMAIN LENGTH YM5198 80520002 DC F'0' ADDR OF ADDR LIST 80580002 DC X'20' E C MODE 80640002 DC X'F5' SUBPOOL VALUE 245 80700002 DC F'0' ADDR OF GOTTEN CORE 80760002 SPACE 1 81000002 DS 0F 81060002 MULTICON DC H'10' CONSTANT WHICH IS MULTIPLIED 81120002 * TO OFFSET TO BECOME INDEX TO 81180002 * STAT TABS 81240002 FOXES DC X'FFFF' @ZA04259 81270004 MASK DC F'15' X03127 81300002 CONST4 DC H'4' CONSTANT OF FOUR 81420002 SPACE 81480002 * THE FOLLOWING TABLE CONTAINS THE DEVICE TYPE CODES FOR THOSE 81540002 * DEVICES HAVING BUFFERED LOGS 81600002 SPACE 81660002 NEWDEVTB DC X'2006' ZEUS MOD 1 2305-1 DEVICE 81720002 DC X'2007' ZEUS MOD 2 2305-2 DEVICE 81780002 DC X'2009' MERLIN 3330 DEVICE 81900002 DC X'200A' WINCHESTER 3340 DEVICE XL03130 81960002 DC X'200B' 3350 DEVICE @Z40RIVS 81990004 DC X'200D' ICEBERG 3330-11 DEVICE XL03145 82020002 DC X'0819' MOHAWK-3895 @G30HIMD 82025002 UR3800 DC X'080E' @SKINNER 82030004 SPACE 1 @YM2953P 82040002 SS1 DC X'0842' MSS @ZA04252 82060003 SPACE 82080002 TYASPN DC X'8003' ASPEN 3420/3410 DEVICE PT0878 82140002 SPACE 82200002 RECNO DC X'080706050403020100' 2314 PHYS CONV TABLR 82260002 RDELST DC H'1' 82320002 DC H'14' 82380002 DC CL8'IFCRDE03' 82440002 DC XL6'00' 82500002 SPACE 82560002 SPACE 82620002 ***** LIST MESSAGES TO OPERATOR 82680002 ERRMSG3 DC AL2(MSGEND3-*) 82740002 DC B'1000000000000000' MCSFLAG FIELD 82800002 DC C'IFB020I INVALID REPLY TO IFB010D' 82860002 MSGEND3 EQU * 82920002 DC B'0001000000000000' DESCRIPTOR CODE 82980002 DC B'0100000000000000' ROUTING CODE 83040002 INFOMSG DC AL2(MSGEND4-*) 83100002 DC B'1000000000000000' MCSFLAG FIELD 83160002 DC C'IFB010D ENTER ''IPL REASON,SUBSYSTEM ID'' ' 83220002 DC C'OR ''U''' 83280002 MSGEND4 EQU * 83340002 DC B'0100000000000000' DESCRIPTOR CODE 83400002 DC B'1000000000000000' ROUTING CODE 83460002 EJECT 83520002 * THE FOLLOWING IS A MATRIX OF VALID WTOR REASON REPLIES 83580002 REPLYNM DC C'NM' NORMAL 83640002 REPLYUN DC C'UN' UNKNOWN 83700002 REPLYIE DC C'IE' IBM HDW OR TYPE1 CODE 83760002 REPLYIM DC C'IM' SAME AS IE ACTION TAKEN 83820002 REPLYOP DC C'OP' OPERATIONAL PROBLEM 83880002 REPLYEN DC C'EN' ENVIRONMENTAL 83940002 REPLYCE DC C'CE' CE/SE HAS SYSTEM CONTROL 84000002 REPLYUP DC C'UP' USER PROGRAM 84060002 REPLYPP DC C'ME' MEDIA 84120002 DC X'0000000000000000' RESERVED FOR MORE REASONS 84180002 SPACE 2 84240002 * THE FOLLOWING IS A MATRIX OF VALID WTOR SUBSYSTEM ID REPLIES 84300002 REPLY00 DC C'00' NOT KNOWN 84360002 DC X'00' 84420002 REPLY10 DC C'10' PROCESSOR SUBSYSTEM 84480002 DC X'10' 84540002 REPLY20 DC C'20' DASD 84600002 DC X'20' 84660002 REPLY30 DC C'30' DISK 84720002 DC X'30' 84780002 REPLY40 DC C'40' TAPE 84840002 DC X'40' 84900002 REPLY50 DC C'50' CARD MACHINE/PRINTER 84960002 DC X'50' 85020002 REPLY51 DC C'51' AUX CARD MACH/PRINTER 85080002 DC X'51' 85140002 REPLY52 DC C'52' PRINTER 85200002 DC X'52' 85260002 REPLY60 DC C'60' DRUM 85320002 DC X'60' 85380002 REPLY70 DC C'70' TELEPROCESSING 85440002 DC X'70' 85500002 REPLY80 DC C'80' GRAPHICS 85560002 DC X'80' 85620002 REPLY90 DC C'90' IBM PROGRAM 85680002 DC X'90' 85740002 REPLY91 DC C'91' IBM PROGRAMING PRODUCT 85800002 DC X'91' 85860002 REPLY92 DC C'92' 85920002 DC X'92' 85980002 DC X'000000000000000000' 86040002 SPACE 86100002 DEFAULT DC C'DF' 86160002 EJECT 86220002 CONST8 DC H'8' CONSTANT OF 8 86280002 SPACE 86340002 SPACE 86400002 * 86460002 * 86520002 **** LIST MESSAGES TO OPERATOR **** 86580002 * 86640002 ERRMSG1 DC AL2(MSGEND1-*) 86700002 DC B'1000000000000000' MCSFLAG FIELD 86760002 DC C'IFB030I SYS1.LOGREC I/O ACCESS ' @YM6452P 86820002 DC C'ERROR,SENS,STAT,HH.MM.SS' @YM6452P 86850002 MSGEND1 EQU * 86880002 DC B'0001000000000000' DESCRIPTOR CODE 86940002 DC B'1000000000000000' ROUTING CODE 87000002 SPACE 87060002 ERRMSG2 DC AL2(MSGEND2-*) 87120002 DC B'1000000000000000' MCSFLAG FIELD 87180002 DC C'IFB040I SYS1.LOGREC AREA IS FULL,HH.MM.SS' 87240002 MSGEND2 EQU * 87300002 DC B'0001000000000000' DESCRIPTOR CODE 87360002 DC B'1000000000000000' ROUTING CODE 87420002 SPACE 87480002 ERRMSG5 DC AL2(MSGEND5-*) 87540002 DC B'1000000000000000' MCSFLAG FIELD 87600002 DC C'IFB050I SYS1.LOGREC FORMAT ERROR,HH.MM.SS' 87660002 MSGEND5 EQU * 87720002 DC B'0001000000000000' DESCRIPTOR CODE 87780002 DC B'1000000000000000' ROUTING CODE 87840002 SPACE 87900002 ERRMSG6 DC AL2(MSGEND6-*) 87960002 DC B'1000000000000000' MCSFLAG FIELD 88020002 DC C'IFB060E SYS1.LOGREC NEAR FULL' 88080002 MSGEND6 EQU * 88140002 DC B'0010000000000000' DESCRIPTOR CODE 88200002 DC B'1000000000000000' ROUTINE CODE 88260002 CONVT EQU *-C'0' CONVERSION TABLE ORIGIN 88280002 DC C'0123456789ABCDEF' CONVERSION TABLE @YM6452P 88300002 EJECT 88320002 ESTALIST ESTAE MF=L YM5198 88322002 PGMCKADD DC A(PGMCKENT) ESTAE ENTRY POINT YM5198 88324002 * @YM6451P 88326002 * @YM6451P 88328002 **** KEEP THIS THE LAST CODE IN MODULE @YM6451P 88330002 * @YM6451P 88332002 * @YM6451P 88334002 **** STAE EXIT ROUTINE TO DEQUEUE AND FREE MAIN @YM6451P 88336002 * @YM6451P 88338002 * @YM6451P 88340002 PGMCKENT LR R5WORK,R15CODE SET BASE YM6801P 88342002 C R0PARM,STAETEST TEST FOR WORK AREA YM6801P 88343002 BE GETREGS NO-USE REG 2 YM5198 88344002 L R2CVTBAS,ZERO(R1PARM) GET POINTER IN 2 YM5198 88346002 GETREGS LM R9LOGBAS,R9LOGBAS,ZERO(R2CVTBAS) GET REGISTER YM5198 88348002 TM INTSW,ENQIND TEST FOR ENQUEUE YM5198 88350002 BZ NOENQ NO-DO NOT DEQUEUE YM5198 88352002 LA R1PARM,ENQLSTDS ADDR OF ENQ LIST YM5198 88354002 SVC DEQUEUE ISSUE DEQUEUE YM5198 88356002 NOENQ LR R1PARM,R9LOGBAS GET PTR TO WORK AREA YM5198 88358002 FREEMAIN R,LV=GETLNGTH,SP=SUBPLNM,A=(1) YM5198 88360002 BR R14RETRN RETURN TO RTM YM5198 88362002 SPACE 1 @YM6451P 88364002 STAETEST DC A(12) STAE STORAGE TEST YM5198 88366002 PTCHAREA DC 12F'0' PATCH AREA 88380002 SPACE 88440002 END 88500002