./ ADD SSI=01052022,NAME=IFBDCB00,SOURCE=0 TITLE 'IFBDCB00,IFBDCB00,RESIDENT DEB AND DCB FOR SER' 00020000 *STATUS: CHANGE LEVEL 000 00040000 *FUNCTION/OPERATION: RESIDENT DCB AND DEB CONTROL BLOCKS FOR USE * 00060000 * BY THE SER MODULES. * 00080000 * * 00100000 *ENTRY POINTS: NONE. * 00120000 * * 00140000 *INPUT: NONE. * 00160000 * * 00180000 *OUTPUT: NONE. * 00200000 * * 00220000 *EXTERNAL ROUTINES: NONE. * 00240000 * * 00260000 *EXITS - NORMAL: NONE. * 00280000 * * 00300000 *EXITS - ERROR: NONE. * 00320000 * * 00340000 *TABLES/ WORK AREAS: NONE. * 00360000 * * 00380000 *ATTRIBUTES: NONE. * 00400000 * * 00420000 *NOTES: THIS MODULES RESIDES PERMANENTLY IN THE NUCLEUS AND IS * 00440000 * INITIALIZED BY THE NUCLEUS INITIALIZATION PROGRAM (NIP) * 00460000 * AT LOAD TIME. * 00480000 EJECT 00500000 * * 00520000 * * 00540000 *********************************************************************** 00560000 * * 00580000 * THE FOLLOWING DEB AND DCB RESIDE PERMANENTLY IN THE NUCLEUS * 00600000 * AND WILL BE COMPLETED BY NIP. THEY ARE FOR USE ONLY BY * 00620000 * THE SER ROUTINES. * 00640000 * * 00660000 *********************************************************************** 00680000 IFBDCB00 START 0 00700000 SPACE 2 00720000 ENTRY IFBDCB 00740000 ENTRY IFBDEB 00760000 EXTRN IGF201 000E 00766019 EXTRN IECOLTVT 000E 00772019 EXTRN IFBACTA 000E 00776019 EXTRN DEVTAB S21051 00778021 SPACE 2 00780000 DS 0F 00800000 DC AL4(DEVTAB) DEVICE TABLE PTR.(OLTEP) S21051 00802021 DC AL4(IECOLTVT) OLTEP VECTOR TABLE POINTER 000E 00810019 DC AL4(IFBACTA) POINTER TO CHAN TYPE TABLE 000E 00815019 IFBDEB DC 1F'0' START OF DEB 00820000 IFBDCB DC AL4(IGF201) I/O RMS COMM AREA POINTER 000E 00830019 DC 4F'0' OVERLAYED DCB 00840015 DC X'0F' DEB ID FIELD 00860000 DC AL3(IFBDCB) ADDRESS OF DCB 00880000 DC 5F'0' 00900000 DC AL4(IFBDEB) ADDRESS OF SER DEB 00920000 DC 3F'0' 00940000 DC 64F'0' 00950021 END 00960000 ./ ADD SSI=01052023,NAME=IFBDCB01,SOURCE=0 TITLE 'IFBDCB00,IFBDCB00,RESIDENT DEB AND DCB FOR SER' 01000015 *STATUS: CHANGE LEVEL 000 02000015 *FUNCTION/OPERATION: RESIDENT DCB AND DEB CONTROL BLOCKS FOR USE * 03000015 * BY THE SER MODULES. * 04000015 * * 05000015 *ENTRY POINTS: NONE. * 06000015 * * 07000015 *INPUT: NONE. * 08000015 * * 09000015 *OUTPUT: NONE. * 10000015 * * 11000015 *EXTERNAL ROUTINES: NONE. * 12000015 * * 13000015 *EXITS - NORMAL: NONE. * 14000015 * * 15000015 *EXITS - ERROR: NONE. * 16000015 * * 17000015 *TABLES/ WORK AREAS: NONE. * 18000015 * * 19000015 *ATTRIBUTES: NONE. * 20000015 * * 21000015 *NOTES: THIS MODULES RESIDES PERMANENTLY IN THE NUCLEUS AND IS * 22000015 * INITIALIZED BY THE NUCLEUS INITIALIZATION PROGRAM (NIP) * 23000015 * AT LOAD TIME. * 24000015 EJECT 25000015 * * 26000015 * * 27000015 *********************************************************************** 28000015 * * 29000015 * THE FOLLOWING DEB AND DCB RESIDE PERMANENTLY IN THE NUCLEUS * 30000015 * AND WILL BE COMPLETED BY NIP. THEY ARE FOR USE ONLY BY * 31000015 * THE SER ROUTINES. * 32000015 * * 33000015 *********************************************************************** 34000015 IFBDCB00 START 0 35000015 SPACE 2 36000015 ENTRY IFBDCB 37000015 ENTRY IFBDEB 38000015 EXTRN IGF201 000E 38600019 EXTRN IECOLTVT 000E 39200019 EXTRN IFBACTA 000E 39600019 EXTRN DEVTAB S21051 39650021 SPACE 2 40000015 DS 0F 41000015 DC AL4(DEVTAB) DEVICE TABLE PTR.(OLTEP) S21051 41050021 DC AL4(IECOLTVT) OLTEP VECTOR TABLE POINTER 000E 41500019 DC AL4(IFBACTA) POINTER TO CHAN TYPE TABLE 000E 41700019 IFBDEB DC 1F'0' START OF DEB 42000015 IFBDCB DC AL4(IGF201) I/O RMS COMM AREA POINTER 000E 43000019 DC 4F'0' OVERLAYED DCB 45000015 DC X'0F' DEB ID FIELD 46000015 DC AL3(IFBDCB) ADDRESS OF DCB 47000015 DC 5F'0' 48000015 DC AL4(IFBDEB) ADDRESS OF SER DEB 49000015 DC X'01' FLAG 49500015 DC XL3'0' 50000015 DC 2F'0' 50500015 DC 64F'0' 51000015 END 52000015 ./ ADD SSI=01052023,NAME=IFBDCB02,SOURCE=0 *STATUS: CHANGE LEVEL 000 01000020 *FUNCTION/OPERATION: RESIDENT DCB AND DEB CONTROL BLOCKS FOR USE * 02000020 * BY THE SER MODULES. * 03000020 * * 04000020 *ENTRY POINTS: NONE. * 05000020 * * 06000020 *INPUT: NONE. * 07000020 * * 08000020 *OUTPUT: NONE. * 09000020 * * 10000020 *EXTERNAL ROUTINES: NONE. * 11000020 * * 12000020 *EXITS - NORMAL: NONE. * 13000020 * * 14000020 *TABLES/ WORK AREAS: NONE. * 15000020 * * 16000020 *ATTRIBUTES: NONE. * 17000020 * * 18000020 *NOTES: THIS MODULE RESIDES PERMANENTLY IN THE NUCLEUS AND IS * 19000020 * INITIALIZED BY THE NUCLEUS INITIALIZATION PROGRAM (NIP) * 20000020 * AT LOAD TIME. * 21000020 EJECT 22000020 * * 23000020 * * 24000020 *********************************************************************** 25000020 * * 26000020 * THE FOLLOWING DEB AND DCB RESIDE PERMANENTLY IN THE NUCLEUS * 27000020 * AND WILL BE COMPLETED BY NIP. THEY ARE FOR USE ONLY BY * 28000020 * THE SER ROUTINES. * 29000020 * * 30000020 *********************************************************************** 31000020 IFBDCB00 START 0 32000020 SPACE 1 33000020 ENTRY IFBDCB 34000020 ENTRY IFBDEB 35000020 EXTRN IGF201 36000020 EXTRN IECOLTVT 37000020 EXTRN IFBACTA 38000020 EXTRN DEVTAB S21051 38050021 SPACE 1 39000020 DS 0F 40000020 DC AL4(DEVTAB) DEVICE TABLE PTR.(OLTEP) S21051 40050021 DC AL4(IECOLTVT) OLTEP VECTOR TABLE POINTER 41000020 DC AL4(IFBACTA) POINTER TO CHAN TYPE TABLE 42000020 IFBDEB DC 1F'0' START OF DEB 43000020 IFBDCB DC AL4(IGF201) I/O RMS COMM AREA POINTER 44000020 DC 4F'0' OVERLAYED DCB 45000020 DC X'0F' DEB ID FIELD 46000020 DC AL3(IFBDCB) ADDRESS OF DCB 47000020 DC 5F'0' 48000020 DC AL4(IFBDEB) ADDRESS OF SER DEB 49000020 DC X'03' FLAG 50000020 DC XL3'0' 51000020 DC 2F'0' 52000020 DC 70F'0' 53000020 END 54000020 ./ ADD SSI=02010151,NAME=IFBSR000,SOURCE=0 TITLE 'IFBSR000/IEAMCH00 RESIDENT PORTION OF IFBSER00' 00020000 ***************-******************************************************* 00040000 *STATUS&CHANGE LEVEL 000 * 00060000 * * 00080000 *FUNCTION/OPERATION: THIS NUCLEUS RESIDENT MODULE, IFBSR000, PERFORMS * 00100000 * PELIMINARY DATA COLLECTION FOR A LINK-LIBRARY RESIDENT MODULE, * 00120000 * MEMBER NAME=IFBSER00,CSECT NAME=IFBSR0XX (XX=MODEL NUMBER). THIS * 00140000 * MODULE, IFBSR000, IS PART OF A PRESERVATION RECORDING PACKAGE THAT* 00160000 * WILL COLLECT, FORMAT, AND WRITE ERROR DATA GIVEN EITHER: * 00180000 * * 00200000 * (1) A MACHINE CK. INTERRUPT WITHIN CPU,CORE STORAGE OR CHANNELS, * 00220000 * (2) AN I/O INTERRUPT WITHIN THE CHANNELS OR CONTROL UNITS. * 00240000 * * 00260000 *ENTRY POINTS: PROGRAM BEGINS AT 'IEAMCH00.' IN THE CASE * 00280000 * OF A MACHINE CHECK, CONTROL IS GAINED DIRECTLY VIA AN LPSW FROM * 00300000 * THE MACHINE CHECK NEW PSW. FOR THE SECOND CASE, WHENEVER THE I/O * 00320000 * INTERRUPT HANDLER DETECTS A 'CATASTROPHIC' CHANNEL ERROR (CHANNEL * 00340000 * DATA CHECK, CHANNEL CONTROL CHECK, INTERFACE CONTROL CHECK), IT * 00360000 * CONSIDERS THE SITUATION UNCORRECTABLE AND PASSES CONTROL, VIA AN * 00380000 * LPSW, TO THIS MODULE. * 00400000 * * 00420000 *INPUT: THREE INPUT PARAMETERS REQUIRED ARE SUPPLIED BY THE NUCLEUS * 00440000 * INITIALIZATION PROGRAM (NIP). THEY ARE: * 00460000 * (1) THE FIRST AVAILABLE LOCATION - LOWEST ADDRESS - AFTER THE * 00480000 * LOAD NUCLEUS + 32 BYTES (4 BYTE LENGTH, FULL WORD ALIGNED)* 00500000 * (2) THE CUA OF THE LINK LIBRARY (2-BYTE LENGTH- * 00520000 * NO SPECIFIC ALIGNMENT REQUIRED). * 00540000 * (3) THE SEEK ADDRESS - CCHHR - OF IFBSER00 MODULE * 00560000 * (5-BYTE LENGTH-HALF WORD ALIGNMENT). * 00580000 * * 00600000 *OUTPUT: NONE * 00620000 * * 00640000 *EXTERNAL SUBROUTINES: NONE * 00660000 * * 00680000 *EXITS-NORMAL: WHEN THE PROGRAM IS COMPLETE, EXIT IS ACCOMPLISHED * 00700000 * BY A BRANCH TO THE NON-RESIDENT MODULE IFBSR0XX (XX= MODEL NO.) * 00720000 * * 00740000 *EXITS-ERRORS: IF THE LINK LIBRARY MODULE IFBSR0XX CANNOT BE READ IN * 00760000 * TO CORE AFTER A RETRY OF TEN TIMES, THE PROGRAM SETS UP A MESSAGE * 00780000 * CODE, X'F0A', AND BRANCHES TO A BELL RINGING ROUTINE TO INDICATE * 00800000 * THAT AN ERROR EXIT HAS OCCURRED. THIS CODE, X'F0A' = UNABLE TO * 00820000 * LOAD IFBSER00 MODULE, WAS ESTABLISHED BY IOS. THE SYSTEM WILL * 00840000 * THEN ENTER THE WAIT STATE. * 00860000 * * 00880000 *TABLES/WORK AREAS: NONE * 00900000 * * 00920000 *ATTRIBUTES: RESIDENT PORTION OF THE NUCLEUS. OPERATION IS INDEPENDENT* 00940000 * OF THE OS/360 CONTROL PROGRAMS. EXECUTION OF THIS MODULE AND * 00960000 * THE NON-RESIDENT IFBSER00 MODULE DEPENDENT UPON THE USE OF * 00980000 * LINKAGE EDITOR, LEVEL 'E'. * 01000000 *********************************************************************** 01020000 ENTRY IFBINIT 01050017 CVTREG EQU 12 000C 01070017 R0 EQU 0 01100000 R13 EQU 13 01120000 R14 EQU 14 01140000 R15 EQU 15 01160000 IFBSR000 CSECT 000C 01162017 *2006-010800,010400-010600,014000,014800-015000,025600,027000 000C 01162617 * 028000,029000,030000,032000-032600,033400 000C 01163217 * -021000-021400,032200,253200,353200 21873 01163618 USING CVTDSECT,CVTREG 000C 01164017 CVTDSECT DSECT 000C 01166017 EQUATE CVT SYS=MIN 01168017 IFBSR000 CSECT 000C 01170017 EJECT 01172017 *********************************************************************** 01180000 * ENTRY POINT * 01200000 *********************************************************************** 01220000 USING *,R15 01240000 IEAMCH00 STM R13,R15,0 SAVE REGS IN LOW CORE 01260000 L R15,116 LOAD BASE REG FROM MCI NEW PSW 01280000 OI 105(0),X'02' SET WAIT BIT IN PCI NEW PSW 01300000 *********************************************************************** 01320000 * HALT I/O ON ALL POSSIBLE DEVICES * 01340000 *********************************************************************** 01360000 L R14,IFBAADDR 1ST LOC. PAST NUCLEUS 01380000 LA R14,3072(R14) INDEX PAST 2D K OF IFBSR0XX 000C 01400017 XC 0(256,R14),0(R14) CLEAR RECORD ENTRY BUILD AREA 01420000 MVC X'20'(8,R14),48 SAVE OLD MC PSW S21021 01440021 MVC X'30'(8,R14),64 SAVE CSW S21021 01450021 MVC X'42'(2,R14),58 SAVE CUA S21021 01460021 MVC X'94'(256,R14),128 SAVE CPU LOG S21021 01470021 *************** 01520000 * ALL PENDING MACHINE CHECKS MUST BE CLEARED BEFORE ANY I/O OPERATIONS 01540000 * TAKE PLACE. FOR THE MODEL FORTY, THE HARDWARE LOGOUT MUST BE SAVED 01560000 * IN THE RECORD ENTRY AREA BEFORE ENABLING FOR MACHINE CHECK INTRPTS. 01580000 *************** 01600000 MVC 116(4),PSW+4 01620000 LPSW PSW 01640000 HIO LA R14,HIO3 I/O INTERRUPT ADDRESS 01660000 ST R14,124 STORE IN I/O NEW PSW 01680000 SSM ENABLE+1 01700000 LA R14,X'800' MAX CUA + 1 01720000 HALT HIO 0(R14) HALT I/O ON ALL DEVICES 01740000 BCT R14,HALT 01760000 EJECT 01780000 *********************************************************************** 01800000 * READ FIRST TEXT RECORD OFF THE LINK LIBRARY * 01820000 *********************************************************************** 01840000 LINKLIBB SSM SEEK+5 01860000 LA R14,SEEK 01880000 ST R14,72 01900000 LH R14,IFBACUA GET THE CUA OF THE LINKLIB 01920000 MVC LINKLIBB(5),IFBASEEK SET UP SEARCH BUFFER 01940000 *********************************************************************** 01960000 * I/O SUBROUTINE 01980000 *********************************************************************** 02000000 IORTN LA R13,100 RETRY COUNT A30000 02010000 TIO 0(R13) TEST DEVICE A30000 02020000 BC 2,RETRY BUSY - RETRY A30000 02030000 SIO 0(R14) 02040000 BC 8,WAIT 02060000 RETRY BCT R13,IORTN+4 02080000 WAITSTAT LPSW WAITPSW PLACE SYSTEM IN WAIT STATE21873 02110018 WAIT TIO 0(R14) 02160000 BC 11,WAIT 02180000 TM 68,X'04' 02200000 BC 8,WAIT 02220000 TM 68,X'02' 02240000 BC 1,RETRY 02260000 TM 69,X'FF' TEST FOR ANY CHANNEL FAILURES 02280000 BC 4,RETRY 02300000 *********************************************************************** 02320000 * BRANCH TO IFBSR0XX 02340000 *********************************************************************** 02360000 LA R14,RING SETUP 'SER0PASS' DSECT SECTION 02380000 MVC 117(3),IFBAADDR+1 MOVE AD OF NON RES SECT TO PSW 02400000 LPSW 112 EXIT TO IFBSER00--MC DISABLED 02420000 ********************* 02440000 * CONSTANTS 02460000 ********************* 02480000 HIO3 LPSW 56 02500000 DS 0D 02520000 PSW DC XL5'0004000000' ENABLE MACHINE CHECK INTERRUPTS 02540000 HIOADD DC AL3(HIO-IEAMCH00) 000C 02560017 WAITPSW DC XL8'0002000000000F0A' WAIT PSW 21873 02570018 EJECT 02580000 *********************************************************************** 02600000 * CHANNEL COMMAND WORDS * 02620000 *********************************************************************** 02640000 DS 0D 02660000 SEEK DC X'07' COMMAND = CONTROL SEEK 02680000 SEEKADRA DC AL3(SEEKADR-IEAMCH00) 000C 02700017 DC XL2'4000' FLAGS = COMMAND CHAINING 02720000 DC XL2'0006' COUNT = SIX BYTE SEEK ADDRESS 02740000 SPACE 2 02760000 RDR0 DC X'16' COMMAND = READ R0 02780000 LINKLIBC DC AL3(LINKLIBB-IEAMCH00) 000C 02800017 DC XL2'6000' FLAGS = COMMAND CHAIN/SILI 02820000 DC XL2'0004' COUNT = FOUR BYTES 02840000 SPACE 2 02860000 SEARCH DC X'31' COMMAND = SEARCH ID EQUAL 02880000 LINKLIBD DC AL3(LINKLIBB-IEAMCH00) 000C 02900017 DC XL2'4000' FLAGS = COMMAND CHAINING 02920000 DC XL2'0005' COUNT = FIVE BYTE SEARCH ADDR 02940000 SPACE 2 02960000 TIC DC X'08' COMMAND = TRANSFER IN CHANNEL 02980000 SEARCHAD DC AL3(SEARCH-IEAMCH00) 000C 03000017 DC XL2'0000' FLAGS = NONE REQUIRED 03020000 ENABLE DC XL2'00FE' 03040000 SPACE 2 03060000 IFBAADDR DC X'06' COMMAND = READ DATA 03080000 DC AL3(0) 03100000 DC XL2'2000' FLAGS = SLI 03120000 DC XL2'0400' 03140000 SPACE 2 03160000 SPACE 2 03180000 DS 0F 03200000 RING DC A(WAITSTAT-IEAMCH00) WAIT STATE ROUTINE 21873 03220018 CTA DC A(0) V(IFABCTA) CHANNEL TYPE ASSIGNMENTS 000C 03240017 CVTMACRO DC A(0) V(IEACVT) ADDR OF THE CVT MACRO 000C 03260017 IFBACUA DC XL2'0' LINK LIBRARY CUA 03280000 SEEKADR DC XL2'0' 03300000 IFBASEEK DC XL5'0' CCHHR OF 1ST TEXT RECORD-LINKLIB 03320000 EJECT 04320017 *******************************************************************000C 05320017 * *000C 06320017 * APPENDAGE ROUTINE *000C 07320017 * *000C 08320017 * THIS ROUTINE GETS CONTROL FROM NIP AND MOVES THE NECESSARY *000C 09320017 * EXTERNAL SYMBOLS DEFINED IN THE LOGOUT AREA INTO THE SER0 CODE *000C 10320017 * *000C 11320017 * IT ALSO RELOCATES ALL ADDRESS CONSTANTS TO A TRUE VALUE *000C 12320017 * RELATIVE TO THE ADDRESS CONTAINED IN REGISTER 0. NIP PASSES IN *000C 13320017 * REG 0 THE ADDRESS OF WHERE SER IS TO RESIDE. THIS ROUTINE THEN *000C 14320017 * MOVES THE SER PROGRAM TO THAT ADDRESS. REGISTER 0 IS THEN SET *000C 15320017 * TO CONTAIN THE ADDRESS OF THE FIRST BYTE AFTER THE SER MODULE *000C 16320017 * *000C 17320017 * IN REG 1 IT PASSES BACK TO NIP THE LIST OF ENTRY POINTS *000C 18320017 * NECESSARY FOR SER0 INITIALIZATION BY NIP *000C 19320017 *******************************************************************000C 20320017 R4 EQU 4 20620018 K10 EQU 10 20920018 SPACE 2 21320017 DS 0H 000C 22320017 USING *,R15 000C 23320017 IFBINIT LA 1,ADDLIST LOAD ADDRESS OF LIST 000C 24320017 LA R4,K10 10 ADDRESSES TO RELOCATE 21873 25320018 ADDREL L 2,0(1) LOAD ADDRESS 000C 26320017 MVC ADDBUF+1(3),0(2) MOVE ADDRESS TO BUFFER 000C 27320017 L 3,ADDBUF LOAD ADDRESS 000C 28320017 AR 3,0 RELOCATE 000C 29320017 ST 3,ADDBUF STORE IN BUFFER 000C 30320017 MVC 0(3,2),ADDBUF+1 MOVE TO ADDRESS 000C 31320017 LA 1,4(1) GO TO NEXT ADDRESS 000C 32320017 BCT 4,ADDREL BRANCH UNTIL FINISHED 000C 33320017 L 1,RINGAD LOAD ADDRESS OF EXTERNALS 000C 34320017 MVC 4(4,1),X'80' RESOLVE EXTERNAL 000C 35420017 L CVTREG,X'10' LOAD ADDRESS OF CVT 000C 35520017 ST CVTREG,8(1) STORE IN SER PROGRAM 000C 35620017 L 3,STARTPRG CURRENT START OF PROGRAM 000C 36320017 LR 12,0 INTENDED START OF PROGRAM 000C 37320017 L 1,BYTENUMB NUMBER OF BYTES TO BE MOVED000C 38320017 LA 2,256 MOVE IN BLOCKS OF 256 BYTES000C 39320017 INCOMPAR CR 1,2 BYTES LESS OR EQ TO 256 000C 40320017 BC 12,MOVEEND YES, BRANCH 000C 41320017 MVC 0(256,12),0(3) MOVE 256 BYTES 000C 42320017 LA 3,256(3) UPDATE CURRENT POINTER 000C 43320017 LA 12,256(12) UPDATE DESTINATION POINTER 000C 44320017 SR 1,2 SUBTRACT 256 BYTES 000C 45320017 BC 12,ENDPROG LESS OR EQ TO ZERO, BRANCH 000C 46320017 BC 15,INCOMPAR BRANCH TO KEEP MOVING 000C 47320017 SPACE 1 48320017 MOVEEND BCTR 1,0 SUBTRACT ONE FROM BYTES 000C 49320017 STC 1,*+5 STORE IN INSTRUCTION 000C 50320017 MVC 0(1,12),0(3) MOVE RESIDUE 000C 51320017 ENDPROG L 0,LASTBYTE LOAD ADDRESS OF LAST BYTE 000C 52320017 LA 1,ENTRYLST ADDRESS OF ENTRY LIST IN REG 1 000C 53320017 BCR 15,14 BRANCH BACK 000C 54320017 SPACE 1 000C 55320017 * CONSTANTS FOR APPENDAGE ROUTINE ONLY 000C 56320017 STARTPRG DC A(IEAMCH00) 000C 57320017 BYTENUMB DC AL4(IFBINIT-IEAMCH00) 000C 58320017 RINGAD DC A(RING) 000C 59320017 LASTBYTE DC X'00' 000C 60320017 IEAMCADD DC AL3(IFBINIT-IEAMCH00) 000C 61320017 ENTRYLST DC X'00' 000C 62320017 IFBCUAAD DC AL3(IFBACUA-IEAMCH00) 000C 63320017 DC X'00' 000C 64320017 IFBSEEKA DC AL3(IFBASEEK-IEAMCH00) 000C 65320017 DC X'00' 000C 66320017 IFBADRAD DC AL3(IFBAADDR-IEAMCH00) 000C 67320017 SPACE 1 68320017 ADDLIST DC AL4(HIOADD) 000C 69320017 DC AL4(SEEKADRA) 000C 70320017 DC AL4(LINKLIBC) 000C 71320017 DC AL4(LINKLIBD) 000C 72320017 DC AL4(SEARCHAD) 000C 73320017 DC AL4(IEAMCADD) 000C 74320017 DC AL4(IFBCUAAD) 000C 75320017 DC AL4(IFBSEEKA) 000C 76320017 DC AL4(IFBADRAD) 000C 77320017 DC AL4(RING+1) SA64339 77820021 ADDBUF DC F'0' 000C 78320017 END IFBINIT 000C 79320017 ./ ADD SSI=02013268,NAME=IFBSR040,SOURCE=0 TITLE 'IFBSER00/IFBSR040 SER0/SYSTEM ENVIRONMENT RECORDING' 00070020 *********************************************************************** 00140020 *STATUS/CHANGE LEVEL: 000 * 00210020 * * 00280020 *FUNCTION/OPERATION: THIS MODULE WILL PRESERVE THE STATUS OF HARDWARE * 00350020 * GIVEN A MACHINE MALFUNCTION BY COLLECTING, FORMATTING, AND WRITING* 00420020 * ONTO THE SYS1.LOGREC DATA SET, ERROR DATA RESULTING FROM THE * 00490020 * FOLLOWING TWO CONDITIONS: * 00560020 * * 00630020 * (1) A MACHINE CHECK INTERRUPT WITHIN THE CPU, CORE STORAGE, OR * 00700020 * CHANNELS; OR * 00770020 * (2) AN I/O ERROR INTERRUPT WITHIN THE CHANNELS OR CONTROL UNITS. * 00840020 * * 00910020 * * 00980020 *ENTRY POINT: THE PROGRAM BEGINS AT THE SYMBOL 'IFCSER00' * 01050020 * * 01120020 *INPUT: CONTENTS OF GPR 13,14,15 ARE SAVED IN LOWER CORE - LOC. 8-19 -* 01190020 * BY THE CALLING MODULE FOR THIS PROGRAM, IFBSR000. * 01260020 * * 01330020 *OUTPUT: ALL TERMINATION MESSAGES ARE TO OPERATOR VIA CONSOLE * 01400020 * * 01470020 *EXTERNAL SUBROUTINES: NONE * 01540020 * * 01610020 *EXITS - NORMAL: THERE ARE TWO CONDITIONS UNDER WHICH NORMAL COMPLET- * 01680020 * ION OF THE PROGRAM WILL OCCUR. (1) IF MACHINE CHECK INTERRUPTS * 01750020 * HAVE NOT OCCURRED DURING THE DATA COLLECTION PHASE OF THIS PROGRAM* 01820020 * THEN THE MESSAGE: * 01890020 * * 01960020 * IFBF05W MACHINE ERROR. RELOAD OS/360 * 02030020 * * 02100020 * WILL BE OUTPUTTED. IF, HOWEVER, (2) A MACHINE CHECK INTERRUPT * 02170020 * OCCURRED WHILE IN THE PROCESS OF COLLECTING DATA ON THE ORIGINAL * 02240020 * ERROR CONDITION, DATA COLLECTION TERMINATES AND AN ATTEMPT IS * 02310020 * MADE TO RECORD THE (PARTIAL) DATA RECORD. IF THE RECORDING IS * 02380020 * SUSCESSFUL, THE MESSAGE: * 02450020 * * 02520020 * IFBF06W MACHINE ERROR. RELOAD OS/360 * 02590020 * * 02660020 * WILL BE OUTPUTTED. IN THE EVENT THAT EITHER EOJ MESSAGE IS * 02730020 * NOT ABLE TO BE OUTPUTTED, THE IOS DISPLAY CODE, X'F05' IS SET UP * 02800020 * AND A BRANCH WILL BE MADE TO THE BELL RINGING ROUTINE WHICH, IN * 02870020 * TURN, WILL PUT THE SYSTEM INTO THE WAIT STATE. * 02940020 * * 03010020 *EXITS-ERRORS: THERE ARE FOUR CONDITIONS UNDER WHICH THE PROGRAM * 03080020 * WILL TAKE THIS EXIT. (1) THE DATA COLLECTED ON THE ORIGINAL ERROR * 03150020 * CONDITION MAY NOT , DUE TO I/O ERRORS, BE ENTERED ONTO THE SYS1.- * 03220020 * LOGREC DATA SET. IN THIS CASE, THE MESSAGE * 03290020 * * 03360020 * IFBF08S MACHINE ERROR. EXECUTE SEREP * 03430020 * * 03500020 * WILL OCCUR. (2) THE SECOND CASE IS WHERE, GIVEN A MCI DURING THE * 03570020 * DATA COLLECTION PHASE, THE ATTEMPT TO OUTPUT (THE PARTIAL RECORD * 03640020 * ENTRY) IS UNSUSCESSFUL DUE TO AN ADDITIONAL MACHINE CK. INT. IN * 03710020 * THIS CASE, THE MESSAGE: * 03780020 * * 03850020 * IFBF07S MACHINE ERROR. EXECUTE SEREP * 03920020 * * 03990020 * IS OUTPUTTED. THE THIRD CASE IS WHERE THE SYS1.LOGREC DATA SET * 04060020 * IS FULL OR THE SAFETY BYTE IN THE HEADER RECORD IS OFF. IN THIS * 04130020 * CASE, THE MESSAGE; * 04200020 * * 04270020 * IFBF09S MACHINE ERROR. EXECUTE SEREP * 04340020 * * 04410020 * A FOURTH CASE OCCURS WHEN THIS PROGRAM CANNOT 'BOOTSTRAP' THE * 04480020 * SECOND 1024 BYTES OF ITSELF INTO CORE FROM THE LINK LIBRARY. IN * 04550020 * THIS CASE, THE MESSAGE, * 04620020 * * 04690020 * IFBF0AS MACHINE ERROR. EXECUTE SEREP * 04760020 * * 04830020 *EXITS-SPECIAL: IN THE EVENT OF AN ABNORMAL TERMINATION, IOS HAS * 04900020 * ESTABLISHED WAIT-STATE CODES X'F05' TO X'F0A' FOR USE BY THIS * 04970020 * PROGRAM. IN THE EVENT THAT A TERMINATION MESSAGE CANNOT BE PRINTED* 05040020 * ON EITHER THE PRIMARY OR ALTERNATE I/O DEVICE, THIS CODE WILL * 05110020 * BE DISPLAYED IN THE 'IC' OF THE CURRENT PSW. * 05180020 * * 05250020 *TABLES/WORK AREAS: A SECTION OF CONSTANTS IS GIVEN WHICH RELATES * 05320020 * TRACK LENGTH REQUIREMENTS FOR ANY TYPE OF RECORDING AND ANY I/O * 05390020 * DEVICE CURRENTLY BEING SUPPORTED AS A SYSTEMS RESIDENCE DEVICE. * 05460020 * * 05530020 *ATTRIBUTES: PROGRAM IS NON-RESUABLE, DOES NOT USE IOS OR OS/360 * 05600020 * FACILITIES, REQUIRES A RELOAD OF OS/360 AND ABORTED TASKS UPON * 05670020 * COMPLETION OF FUNCTIONS, AND, AFTER NORMAL OR ABNORMAL TERMINATION* 05740020 * THIS PROGRAM WILL ENTER THE WAIT STATE. THIS PROGRAM HAS BEEN * 05810020 * DESIGNED FOR THE SSS,SPS, OR MS1 VERSIONS OF OS/360. * 05880020 * * 05890021 * PUBLICATIONS: MFT SUPERVISOR GY27-7236 * 05900021 * MVT SUPERVISOR GY28-6659 * 05910021 *********************************************************************** 05950020 EJECT 06020020 * HEADER RECORD AREA * 06070021 * ***************************************************************** 06080021 * * * * HIGH * 06082021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 06084021 * * * (CCHH) * (CC) * 06086021 * ***************************************************************** 06088021 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 06088421 * +8 * (CONT.) * * (BBCCHHR) * 06088821 * * (HH) * * * 06089221 * ***************************************************************** 06089621 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 06089721 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 06089821 * * (CONT.) * TRACK * TRACK * WRITTEN * 06089921 * ***************************************************************** 06113221 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 06123221 * +24 * WRITTEN (CONT.) * PER * WARN. * 06133221 * * * CYLINDER * CNT. * 06135221 * ***************************************************************** 06135621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 06136021 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 06136421 * * CNT. * CODE * * SWT. * (FF) * 06136521 * ***************************************************************** 06136621 EJECT 06144421 * CPU RECORD ENTRY AREA * 06152221 * ***************************************************************** 06160020 * * CLASS * SYS- * * * 06230021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06280021 * * * RLSE. * * * 06290021 * ***************************************************************** 06440020 * * * * 06510020 * +8 * DATE * TIME * 06580020 * * * * 06650020 * ***************************************************************** 06720020 * * * * * * 06790021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 06840021 * * * * * * 06850021 * ***************************************************************** 06860021 * * * 06910021 * +24 * PROGRAM IDENTITY * 06920021 * * * 06930021 * ***************************************************************** 06980021 * * * 06990021 * +32 * JOB IDENTITY * 07000021 * * * 07050021 * ***************************************************************** 07060021 * * * 07070021 * +40 * MACHINE CHECK OLD PSW * 07120021 * * * 07130021 * ***************************************************************** 07140021 * * * 07190021 * +48 * VARIABLE LOGOUT FIELD * 07200021 * * * 07210021 * ***************************************************************** 07260021 * * * 07270021 * * MCH * 07280021 * * DAMAGE ASSESSMENT * 07330021 * * * 07340021 * ***************************************************************** 07350021 EJECT 000C 09870020 SPACE 3 09940020 * INBOARD RECORD ENTRY AREA * 10010020 * ***************************************************************** 10080020 * * CLASS * SYS- * * * 10150021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 10200021 * * * RLSE. * * * 10210021 * ***************************************************************** 10360020 * * * * 10430020 * +8 * DATE * TIME * 10500020 * * * * 10570020 * ***************************************************************** 10640020 * * * * * * 10710021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 10760021 * * * * * * 10770021 * ***************************************************************** 10780021 * * * 10830021 * +24 * JOB IDENTITY * 10840021 * * * 10850021 * ***************************************************************** 10900021 * * * 10910021 * +32 * ACTIVE I/O UNITS * 10920021 * * * 10970021 * ***************************************************************** 10980021 * * * 10990021 * +48 * FAILING CCW * 11040021 * * * 11050021 * ***************************************************************** 11060021 * * * 11110021 * +56 * CSW * 11120021 * * * 11130021 * ***************************************************************** 11180021 * * * * 11190021 * +64 * ECSW * DEVICE TYPE * 11200021 * * * * 11250021 * ***************************************************************** 11260021 * * CHAN. * * * 11270021 * +72 * IDENT * CUA * MP INFO * 11320021 * * * * 11330021 * ***************************************************************** 11340021 * * MACHINE DEPENDENT * 11390021 * +80 * CHANNEL * 11400021 * * LOG * 11410021 * ***************************************************************** 11460021 EJECT 13230020 R0 EQU 0 13300020 R1 EQU 1 13370020 R2 EQU 2 13440020 R3 EQU 3 13510020 R4 EQU 4 13580020 R5 EQU 5 13650020 R6 EQU 6 13720020 R7 EQU 7 13790020 R8 EQU 8 13860020 R9 EQU 9 13930020 RA EQU 10 14000020 RB EQU 11 14070020 RC EQU 12 14140020 RD EQU 13 14210020 RE EQU 14 14280020 RF EQU 15 14350020 SPACE 1 14420020 PARMREG0 EQU 5 PARAMETER REGISTER 14490020 PARMREG1 EQU 1 PARAMETER REGISTER 14560020 WORK1 EQU 2 WORK REGISTER 14630020 WORK2 EQU 3 WORK REGISTER 14700020 WORK3 EQU 4 WORK REGISTER 14770020 WORK4 EQU 5 WORK REGISTER 14840020 WORK5 EQU 6 14910020 WORK6 EQU 7 WORK REGISTER 14980020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 15050020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 15120020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 15190020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 15260020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 15330020 SPACE 1 15400020 ENTRY IFBSER00 15470020 EJECT 15540020 ACTTCB EQU 4 15610020 UCBACT EQU 6 15680020 IOBPTR EQU 4 15750020 STARTADR EQU 16 15820020 UCBCUA EQU 4 15890020 SPACE 1 15960020 SHPC EQU 0 16030020 T4PC EQU 4 16100020 LTPC EQU 8 16170020 SPACE 1 16240020 TOPRBP EQU 0 16310020 SPACE 1 16380020 SPACE 1 16450020 BOOTSTRP EQU X'80' BOOTSTRAPING COMPLETE 16520020 IORTYENT EQU X'40' ENTRY DUE TO I/O RETRY 16590020 HEADEROK EQU X'20' HEADER READ AND UPDATED OK 16660020 IOCMPLTE EQU X'10' I/O OPERATION COMPLETE SWITCH 16730020 GPTESTCP EQU X'08' GP REGISTER TEST COMPLETE 16800020 CCWUPDAT EQU X'04' CCW UPDATE COMPLETE 16870020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 16940020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 17010020 HEX0 EQU X'00' S21021 17060021 HEX01 EQU X'01' S21021 17070021 HEX08 EQU X'08' S21021 17072021 HEX0F EQU X'0F' S21021 17074021 HEX40 EQU X'40' CPU MODEL ID S21021 17076021 HEX80 EQU X'80' S21021 17078021 HEXBF EQU X'BF' S21021 17078421 HEXC0 EQU X'C0' S21014 17078821 SPACE 1 17080020 DCBF0 EQU 44 17150020 DEBF2 EQU 32 17220020 DEBF4 EQU 36 17290020 UCBF3B EQU 19 DEVICE TYPE ENTRY 17360020 UCBF12 EQU 20 17430020 SPACE 1 17500020 OPTION1 EQU 64 17570020 OPTION2 EQU 32 17640020 CDPTR EQU 12 17710020 MS1PGMID EQU 8 17780020 SPACE 1 17850020 SPACE 1 17920020 UCMUCB EQU 12 UCM POINTER TO UCB 17990020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 18060020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 18130021 UCMOF EQU 128 WTO SUPPORT (UCM) 18200020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 18270020 SPACE 1 18340020 DEBPT EQU 8 18410020 UCBPTR EQU 32 18480020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 18550020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 18620020 SPACE 1 18690020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 18760020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 18830020 UCBTYPE EQU 16 S21021 18880021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000D 18900020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 18970020 UCMMODE EQU X'44' UCM FLAGS A47227 19040021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 19110020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 19180020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 19250020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 19320020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 19390020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 19460020 UCMHRDT EQU X'40' UCM HARD COPY 000D 19530020 UCMSTS EQU 24 000D 19600020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 19670020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 19740020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 19810020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 19880020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 19950020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000D 20020020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 20090020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 20160020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 20230020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 20300020 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 20370020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 20440020 IOBERR EQU X'20' IOB ERP INDICATOR 23243 20510020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 20580021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 20630021 OVRLAY EQU X'04' DATA FOR RE OVERLAYED S21021 20640021 EJECT 20650020 * EQUATES USED FOR CONDITION CODES 20720020 CC1 EQU 1 000D 20790020 CC7 EQU 7 000D 20860020 CC8 EQU 8 000D 20930020 CC9 EQU 9 000D 21000020 CC15 EQU 15 000D 21070020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 21140020 AD0 EQU 0 000D 21210020 AD1 EQU 1 000D 21280020 AD2 EQU 2 S21021 21330021 AD3 EQU 3 S21021 21340021 AD4 EQU 4 000D 21350020 AD5 EQU 5 000D 21420020 AD6 EQU 6 000D 21490020 AD8 EQU 8 000D 21560020 AD9 EQU 9 S21021 21610021 AD12 EQU 12 000D 21630020 AD72 EQU 72 000D 21700020 AD124 EQU 124 000D 21770020 * EQUATES USED FOR CONSTANTS 21840020 K2 EQU 2 000D 21910020 K4 EQU 4 S21021 21960021 K5 EQU 5 000D 21980020 K9 EQU 9 S21021 22030021 K10 EQU 10 000D 22050020 K12 EQU 12 S21021 22100021 K80 EQU X'80' 000D 22120020 KFF EQU X'FF' 000D 22190020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 22260020 M1 EQU 1 S21021 22310021 M2 EQU 2 000D 22330020 M4 EQU 4 S21021 22380021 M6 EQU 6 000D 22400020 M7 EQU 7 S21021 22450021 M8 EQU 8 000E 22470020 M14 EQU 14 000D 22540020 M35 EQU 35 000D 22610020 M36 EQU 36 000D 22680020 M24 EQU 24 S21021 22730021 M29 EQU 29 S21021 22740021 M44 EQU 44 S21021 22742021 M56 EQU 56 S21021 22744021 K1 EQU 1 000E 22750020 K3 EQU 3 000E 22820020 K6 EQU 6 000E 22890020 K8 EQU 8 000E 22960020 K20 EQU 20 000E 23030020 K28 EQU 28 000E 23100020 LOC40 EQU 40 S21014 23150021 LOC105 EQU 105 000E 23170020 LOC107 EQU 107 S21014 23220021 LOC108 EQU 108 000E 23240020 ENAB EQU 4 000E 23310020 DISA EQU 0 000E 23380020 CPUSER1 EQU X'19' MCH RECORDING S21021 23430021 INBSER1 EQU X'29' CLASS AND SOURCE RECORD S21021 23440021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 23442021 SPACE 1 23450020 EJECT 23520020 IFBSR040 CSECT 23590020 *0121 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 23660021 *0267 062300-063700,067900-098000,101500-102900,107100-131600, S21021 23710021 * 205800,260400,298200,354200,373100,374500,385000,386400, S21021 23720021 * 389200,478800,485800,487900,495600,498400-501900,508200, S21021 23730021 * 516600,525000-528500,529900,537600,540400,541800-548800, S21021 23780021 * 552300,566300,567700-569100,574000,576100-576800,578200, S21021 23790021 * 579600-581700,583100-597800,606900-607600,615300, S21021 23800021 * 620900-623000,641900,643300-644000,657300,668500,681100, S21021 23850021 * 690200-693000,695100,696500-699300,701400,714000-715400, S21021 23860021 * 751800,812000,814800,822500,823900-858900,862400-870100 S21021 23870021 USING CVTDSECT,CVTREG 24220020 CVTDSECT DSECT 24290020 EQUATE CVT 24360020 EJECT 24430020 *********************************************************************** 24500020 ** ** 24570020 *** SER0 PASS DSECT - PARAMETERS SUPPLIED FROM NUCLEUS *** 24640020 ** ** 24710020 *********************************************************************** 24780020 USING SERDSECT,RE 24850020 SERDSECT DSECT 24920020 RING DC V(IECIWTST) ADDRESS OF BELL RING ROUTINE 24990020 CTA DC V(IFBACTA) CHANNEL TYPE ASSIGNMENTS 25060020 CVTMACRO DC V(IEACVT) ADDRESS OF CVT 25130020 IFBACUA DS CL2 LINK LIBRARY DEVICE CUA 25200020 DS CL2 25270020 IFBASEEK DS CL5 CCHHR OF 1ST TEXT RECORD-LINKLIB 25340020 IFBSR040 CSECT 25410020 EJECT 25480020 *********************************************************************** 25550020 ** ** 25620020 *** INITIAL ENTRY POINT FROM RESIDENT NUCLEUS MODULE *** 25690020 ** ** 25760020 *********************************************************************** 25830020 USING *,RF 25900020 IFBSER00 L RF,116 SET UP BASE REG 25970020 XC HDRREC(80),HDRREC CLEAR HEADER REC AREA S21021 26040021 MVI RECPUID+AD1,HEX40 GET CPU MODEL ID S21021 26090021 MVI PGMPSW+1,X'04' SET ENABLE BIT 26110020 MVI EOFRECRD+4,X'FF' SET UP EOF RECORD 26180020 ST RE,DSECTSAV SAVE SER0 PASS PARAMETERS 26250020 SER LA RD,SERA RETURN POINT 26320020 ST RD,PGMPSW+4 ENABLE PSW 26390020 MVC 112(8),PGMPSW PLACE IN HARDWARE 26460020 LA RD,SECMCI SECOND MCI HANDLER 26530020 LPSW PGMPSW ENABLE 26600020 SERA ST RD,116 MC NEW PSW 26670020 MVI 113,0 DISABLE MCI'S 26740020 MVC 104(8),112 PROG NEW PSW 26810020 SPACE 1 26880020 * * 26950020 *** DATA ADDRESS FIELD OF CCW'S REQUIRE MODIFICATION *** 27020020 * * 27090020 LA RE,SENSECCW FIRST CCW OF CHAIN 27160020 SERB L RD,0(RE) DATA ADDRESS FIELD OF CCW 27230020 AR RD,RF ADD IN BASE VALUE 27300020 ST RD,0(RE) RESTORE UPDATED ADDRESS 27370020 LA RE,8(RE) NEXT CCW 27440020 LA RD,LASTCCW CHECK FOR END 27510020 CLR RE,RD LAST ONE 27580020 BC 4,SERB BRANCH--NOT THE END 27650020 MVC TXTSAVE(4),RDTEXT SAVE FOR POSSIBLE RETRY A31477 27720020 OI FLAGS,CCWUPDAT INDICATE CCW UPDATED 27790020 SPACE 1 27860020 EJECT 27930020 *********************************************************************** 28000020 *** *** 28070020 **** GENERAL PURPOSE REGISTERS **** 28140020 *** *** 28210020 *********************************************************************** 28280020 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 28350020 BC 1,RDNXTMOD BR--CHANNEL CHECK READ NEXT MOD 28420020 GPTEST STM R0,RC,GPREGS SAVE REGS 0-12 IN RE AREA 28490020 MVC GPREGS+52(12),0 SAVE REGS 13-15 IN RE AREA 28560020 EJECT 28630020 *********************************************************************** 28700020 ** ** 28770020 *** DETERMINE LINK LIBRARY DEVICE TYPE AND READ REMAINING *** 28840020 *** SER 0 - PORTIONS *** 28910020 ** ** 28980020 *********************************************************************** 29050020 RDNXTMOD L RE,DSECTSAV RELOAD DSECT FOR SER0 PARAMETERS 29120020 L CVTREG,CVTMACRO POINTER TO THE CVT 29190020 OI FLAGS,GPTESTCP GP TEST COMPLETE INDICATOR 29260020 SPACE 1 29330020 TM FLAGS,IORTYENT SECOND PASS BECAUSE OF RETRY FAIL 29400020 BC 1,NOIFBSR BR--MODULE NOT LOADED 29470020 SPACE 1 29540020 L R1,CVTLINK DCB OF THE LINKLIB 29610020 L R1,DCBF0(R1) DEB ADDRESS-LINK LIBRARY 29680020 L R1,DEBF2(R1) LINK LIBRARY DEVICE-UCB ADDRESS 29750020 MVC DEVCODE(M1),UCBF3B(R1) GET LINKLIB DEV CODE S21021 29820021 SPACE 1 29890020 LH DADCUA,IFBACUA LINK LIBRARY CUA-FROM SER DSECT 29960020 MVC DISKSEEK+2(5),IFBASEEK CCHHR OF 1ST TEXT RECORD 30030020 MVC R0RDAREA+4(1),IFBASEEK+4 R OF THE FIRST TEXT RECORD 30100020 MVC RDTEXT(4),TXTSAVE INITIAL CCW A31477 30170020 LA R2,2 NUMBER OF PASSES 000C 30240020 LA RD,2 READ TWO RECORDS-1 CTRL $ 1 TEXT 30310020 RDMODS IC R1,R0RDAREA+4 GET R AND UPDATE TO READ 30380020 LA R1,1(R1) CONTROL RECORD 30450020 STC R1,R0RDAREA+4 RESTORE 30520020 ST R2,R2SAVE STORE IN TEMP LOCATION 000C 30590020 BAL LINKREG,IORTN READ CONTROL RECORD 30660020 L R2,R2SAVE RESTORE R2 000C 30730020 BCT RD,RDMODS NEXT 30800020 L R1,RDTEXT READ ADDRESS IN CCW 000C 30870020 LA R1,1024(R1) UPDATE FOR NEXT RECORD 000C 30940020 ST R1,RDTEXT STORE 000C 31010020 MVI RDTEXT,X'06' RESTORE OP CODE 000C 31080020 BCT R2,RDMODS-4 READ NEXT 000C 31150020 BC 15,FIX NEXT PORTION 31220020 EJECT 31290020 *********************************************************************** 31360020 ** ** 31430020 *** I/O ROUTINE TO READ MODULES AND WRITE RECORD ENTRIES *** 31500020 ** ** 31570020 *********************************************************************** 31640020 IORTN LA WORK2,10 TEN RETRIES 31710020 IORTN1 LA WORK1,R0CHAIN START OF CCW CHAIN 31780020 ST WORK1,72 STORE IN CAW 31850020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 31900021 IORTN2 TIO 0(DADCUA) TEST I/O 31920020 BC 6,IORTN2 BR--BUSY OR STATUS STORED 31990020 SIO 0(DADCUA) START I/O 32060020 BC 8,IORTN4 BR--I/O OPERATION INITIATED 32130020 IORTN3 BCT WORK2,IORTN1 BRANCH--TRY AGAIN 32200020 OI FLAGS,IORTYENT RETRY COMPLETE 32270020 BC 15,RECOVER1 BRANCH--SET UP SEREP 32340020 SPACE 1 32410020 IORTN4 TIO 0(DADCUA) TEST I/O 32480020 BC 2,IORTN4 BR--BUSY 32550020 TM 68,X'0D' CHAN END, DEV END, UNIT EXCEPTION 32620020 BC 14,IORTN5 BR--NOT END OF FILE 32690020 CLC DISKSEEK+2(4),R0RDAREA COMPARE R0 AND SEEK ADDRESS 32760020 BC 8,IORTN3 BR--NOT ALTERNATE TRACK 32830020 * 32900020 *** ALTERNATE TRACK - SWITCH SEEK ADDRESS 32970020 * 33040020 ALTRK MVC DISKSEEK+2(4),R0RDAREA SET UP CCHH FROM R0 33110020 BC 15,IORTN1 BRANCH--TRY OPERATION AGAIN 33180020 * 33250020 *** CHECK CSW BITS 33320020 * 33390020 IORTN5 TM 68,2 UNIT CHECK 33460020 BC 1,SENSE BR--CHECK SENSE DATA 33530020 TM 68,4 DEVICE END 33600020 BC 14,IORTN4 BR--NOT DEVICE END 33670020 TM 69,X'FF' CHANNEL FAILURE 33740020 BC 7,IORTN3 BR--RETRY OPERATION 33810020 BCR 15,LINKREG BRANCH--RETURN 33880020 SPACE 1 33950020 * 34020020 *** SENSE DISK TO CHECK FOR 34090020 * 34160020 SENSE LR R0,LINKREG SAVE LINK ADDRESS IN R0 34230020 LA WORK1,SENSECCW SENSE CCW 34300020 ST WORK1,72 STORE IN CAW 34370020 BAL LINKREG,IORTN1+4 GET SENSE DATA 34440020 TM SENAREA,2 ALTERNATE TRACK 34510020 LR LINKREG,R0 RESTORE LINK REG ADDRESS 34580020 BC 1,ALTRK 34650020 TM SENAREA+1,8 NO RECORD FOUND 34720020 BC 14,IORTN3 BR--NO RETRY OPERATION 34790020 * 34860020 * SET UP FOR A TRACK SWITCH TO FIND THE RECORD 34930020 * 35000020 TM FLAGS,BOOTSTRP READING LINKLIB OR LOGREC 35070020 BC 1,IORTN3 BR--WORKING WITH LOGREC TRY AGAIN 35140020 XR R1,R1 CLEAR R1 35210020 XR R4,R4 CLEAR R4 35280020 MVI R0RDAREA+4,1 SET IDENT FIELD TO ONE 35350020 IC R1,DEVCODE DEVICE TYPE OF LINKLIB S21021 35420021 SLL R1,2 MULTIPLY BY FOUR 35490020 LA R1,DEVTABLE-1(R1) ADDRESS OF LAST BYTE OF DESIRED ENT. 35560020 LA R2,R0RDAREA+3 ADDRESS OF LAST BYTE OF R0 AREA 35630020 LA R3,4 FOUR BYTES 35700020 TRKUPDAT IC R4,0(R2) GET BYTE 35770020 LA R4,1(R4) ADD ONE TO BYTE 35840020 STC R4,0(R2) REPLACE 35910020 CLC 0(1,R2),0(R1) COMPARE WITH TABLE 35980020 BC 12,ALTRK BR--TRY FOR RECORD ON NEXT TRACK 36050020 MVI 0(R2),0 CLEAR BYTE TO ZERO 36120020 BCT R1,*+4 REDUCE ADDRESSES 36190020 BCT R2,*+4 BY ONE 36260020 BCT R3,TRKUPDAT BRANCH--NEXT BYTE 36330020 BC 15,NOIFBSR BRANCH--CAN'T FIND REMAINING SER0 36400020 EJECT 36470020 *********************************************************************** 36540020 ** ** 36610020 *** CHANNEL COMMANDS AND I/O WORK AREAS *** 36680020 ** ** 36750020 *********************************************************************** 36820020 SENSECOM EQU 4 36890020 SEEK EQU 7 36960020 RDR0 EQU 22 37030020 SEARCH EQU 49 37100020 TIC EQU 8 37170020 WRTDATA EQU 5 S21021 37220021 RDDATA EQU 6 37240020 WRTCKD EQU 29 37380020 BELL EQU 11 37520020 TYPE EQU 9 37590020 SILI EQU 32 37660020 CC EQU 64 37730020 DS 0D 37800020 SENSECCW CCW SENSECOM,SENAREA,SILI,3 SENSE CCW 37870020 SPACE 1 37940020 R0CHAIN CCW SEEK,DISKSEEK,CC,6 SEEK CCW 38010020 CCW RDR0,R0RDAREA,CC+SILI,4 RD PARTIAL R0 CCW 38080020 SPACE 1 38150020 RDMODXX CCW SEARCH,R0RDAREA,CC,5 SEARCH ID EQUAL CCW 38220020 CCW TIC,RDMODXX,0,0 TRANSFER IN CHANNEL CCW 38290020 RDTEXT CCW RDDATA,1024,SILI,1024 READ 400 BYTE MODULE CCW 38360020 SPACE 1 38430020 RDHEADER CCW RDDATA,HDRREC,0,40 READ HEADER CCW S21021 38500021 SPACE 1 38570020 WRTRECCW CCW WRTCKD,CTFLDID,0,420 WRITE RECORD ENTRY CCW S21021 38640021 SPACE 1 38710020 WRITEEOF CCW WRTCKD,EOFRECRD,0,8 WRITE EOF CCW 38780020 SPACE 1 38850020 WRTHEAD CCW WRTDATA,HDRREC,0,40 WRITE HEADER CCW S21021 38920021 SPACE 1 38990020 *** MESSAGE CCW'S 000D 39060020 SPACE 1 39130020 * 1052 CONSOLE 000D 39200020 * PRINTERS/PUNCHES 000D 39270020 TYPEWRIT CCW BELL,0,CC+SILI,1 RING CONSOLE ALARM 000D 39340020 CCW TYPE,MSGAREA,SILI,44 TYPE MESSAGE S21021 39410021 SPACE 1 000D 39480020 * 2740 CONSOLE 000D 39550020 CCW2740 CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 39620021 DUPLIC CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 39670021 LASTCCW EQU * 39760020 EJECT 39830020 *********************************************************************** 39900020 ** ** 39970020 *** PROGRAM CONSTANTS *** 40040020 ** ** 40110020 *********************************************************************** 40180020 TXTSAVE DC XL4'0' SAVE AREA - INITIAL ADDR A31477 40250020 SPACE 2 40320020 DEVTABLE DC X'00CA0009' * 2311 MAX CCHH VALUES 40390020 DC X'000000C7' * 2301 MAX CCHH VALUES 40460020 DC X'004F0009' * 2303 MAX CCHH VALUES 40530020 DC X'00F9002D' * 2302 MAX CCHH VALUES 40600020 DC X'13090413' * 2321 MAX CCHH VALUES 40670020 DC X'00000000' * DUMMY 40740020 DC X'00000000' * DUMMY 40810020 DC X'00C70013' * 2314 MAX CCHH VALUES A33557 40880020 SPACE 1 40950020 CON7FF DC X'00000FFF' CUA MASK 000E 41020020 DC X'FF' KEY CONSTANT 41090020 KEYCONST EQU CON7FF+3 41160020 SPACE 2 41230020 EJECT 41300020 *********************************************************************** 41370020 * THE PROGRAM PROGRESS IS FOLLOWED BY THE SETTING OF CERTAIN FLAG * 41440020 * BITS WITHIN A FIELD CALLED FLAGS-- * 41510020 * * 41580020 * BIT 0- ALL MODULES (400 BYTES EACH) HAVE BEEN READ IN * 41650020 * BIT 1- ERROR ENTRY DUE TO TEN TIMES I/O RETRY 41720020 * BIT 2- HEADER RECORD READ AND UPDATED OK 41790020 * BIT 3- ALL I/O OPERATIONS COMPLETED 41860020 * BIT 4- 41930020 * BIT 5- CCW'S ARE ALL UPDATED 42000020 * BIT 6- HEAD SWITCH REQUIRED TO WRITE EOF 42070020 * BIT 7- SECOND MACHINE CHECK HAS OCCURRED 42140020 *********************************************************************** 42210020 FLAGS DC X'00' 42280020 SPACE 2 42350020 SECMCI TM FLAGS,SECONDMC IS THIS THE SECOND ENTRY HERE 42420020 BC 8,RECOVER BR--NO 42490020 LA R0,X'F07' WAIT CODE 42560020 BC 15,SEREP SET UP SEREP INTERFACE 42630020 SPACE 1 42700020 RECOVER OI FLAGS,SECONDMC INDICATE NEXT WILL BE SECOND MCI 42770020 LA R1,RECOVER1 RETURN POINT 42840020 ST R1,PGMPSW+4 42910020 LPSW PGMPSW CONTINUE ENABLED 42980020 RECOVER1 TM FLAGS,CCWUPDAT CCW UPDATED 43050020 BC 8,NOIFBSR BR-- NO 43120020 TM FLAGS,BOOTSTRP ALL MODULES BEEN READ 43190020 BC 8,RDNXTMOD BR--NOT YET TRY AGAIN 43260020 TM FLAGS,IORTYENT ENTRY DUE TO I/O RETRY 43330020 BC 1,IOERROR BR--YES - EXIT TO I/O ERROR 43400020 TM FLAGS,HEADEROK HEADER BEEN READ AND UPDATED OK 43470020 BC 8,SERLA BR--NO GO READ HEADER 43540020 TM FLAGS,IOCMPLTE I/O OPERATION COMPLETE 43610020 BC 1,COMPLETE BR--YES TERMINATE 43680020 BC 15,WRITENT BR--WRITE RECORD ENTRY 43750020 SPACE 1 43820020 NOIFBSR LA R0,X'F0A' IFBSR000 MODULE COULD NOT BE READ 43890020 MVI MSGAREA+5,C'A' PRINTABLE CHARACTER 43960020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 44030020 SPACE 1 44100020 LOGREC LA R0,X'F09' SYS1.LOGREC DATA SET ERROR 44170020 MVI MSGAREA+5,C'9' PRINTABLE CHARACTER 44240020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 44310020 SPACE 1 44380020 IOERROR LA R0,X'F08' I/O ERRORS HAVE OCCURRED 44450020 MVI MSGAREA+5,C'8' PRINTABLE CHARACTER 44520020 EJECT 44590020 *********************************************************************** 44660020 ** ** 44730020 *** ABNORMAL TERMINATION - SEREP INTERFACE *** 44800020 ** ** 44870020 *********************************************************************** 44940020 SEREP TM FLAGS,K80 ALL MODULES READ IN 000D 45010020 BC CC7,SEREP1 BRANCH--- YES 000D 45080020 L RD,RING LOAD ADR OF RING BELL RTN 000D 45150020 BCR CC15,RD BRANCH 000D 45220020 SEREP1 BAL LINKREG,LOCCONS BRANCH TO LOCATE CONSOLE 000D 45290020 BAL LINKREG,PRINT BRANCH TO PRINT MSG 000D 45360020 SPACE 1 45430020 SEREPIF MVI 115,0 SEREP CODE CPU 45500020 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 45570020 BC 14,*+8 BR--CPU CHECK 45640020 MVI 115,X'0F' SEREP CODE CHANNEL 45710020 MVC 58(2),INCUA CHANNEL/UNIT ADDRESS 45780020 MVC 64(8),INCSW CHANNEL STATUS WORD 45850020 MVC 48(8),MCIOPSW MACHINE CHECK OLD PSW 45920020 MVC 128(256),CPULOG CPU LOGOUT 45990020 SPACE 1 46060020 * 46130020 *** ENTER WAIT STATE 46200020 * 46270020 EXIT ST R0,PGMPSW+4 STORE TERMINATION CODE 46340020 MVI PGMPSW+1,X'02' SET UP FOR WAIT STATE 46410020 LPSW PGMPSW END 46480020 EJECT 46550020 *********************************************************************** 46620020 *** *** 46690020 **** FLOATING POINT REGISTERS **** 46760020 *** *** 46830020 *********************************************************************** 46900020 FIX OI FLAGS,BOOTSTRP INDICATE ALL MODULES READ IN 46970020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 47020021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 47030021 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 47040020 BC 1,SERP BR--CHANNEL CHECK 47110020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 47160021 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CPU ERROR S21021 47170021 XC FPREGS(M36),FPREGS CLEAR FIELD 000E 47180020 LA RD,SERP0 BYPASS FLOATING POINT ON PC 000E 47250020 ST RD,LOC108 STORE ADDRESS 000E 47320020 MVI LOC105,ENAB ENABLE MCI 000E 47390020 * A55849 47460021 STD R0,FPREGS SAVE 47530020 STD R2,FPREGS+8 FP REGS 47600020 STD R4,FPREGS+16 0-6 47670020 STD R6,FPREGS+24 IN RE AREA 47740020 EJECT 47810020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 47880021 SPACE 1 47950020 SERP0 LA RD,SECMCI RESTORE PRG NEW PSW 000E 48020020 ST RD,LOC108 STORE ADDRESS 000E 48090020 MVI LOC105,DISA DISABLE MCI 000E 48160020 SERP MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY 48230020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 48280021 S WORK1,FOUR GET NEG OFFSET S21021 48290021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 48292021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 48294021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 48296021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 48298021 STC WORK1,SYSREL PUT IN RECORD S21021 48298421 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 48300020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 48370020 SPACE 1 48440020 ***** COMPUTE LOCAL TIME OF DAY FOR RECORD ENTRY 48510020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 48580021 SPACE 1 48630021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 48640021 XR WORK1,WORK1 CLEAR REGISTER 48650020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 48720020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 48790021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 48860020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 48930020 L WORK3,80 LOAD HARDWARE TIMER 49000020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 49070020 SLR WORK2,WORK3 SUBTRACT TIMER 49140020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 49210020 BC 3,TADJUST BRANCH ON OVERFLOW 49280020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 49350020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 49420020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 49490020 SRL R3,1 CONVERT TO BIN S21021 49560021 M R2,TD10E5 S21021 49610021 D R2,TDCNVR S21021 49620021 LA R1,32 INITIALIZE LOOP S21021 49622021 L R6,TDIV INITIALIZE REG. S21021 49624021 TDVD SR R2,R2 CLEAR REG S21021 49626021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 49628021 LR R4,R2 S21021 49628421 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 49628821 SH R1,*-2 DECREMENT BY 4 S21021 49629221 LTR R3,R3 IS DIVIDEND 0 S21021 49629621 BZ TDENDCNV YES-BRANCH S21021 49629721 C R1,TD24 IS COUNT =24 S21021 49629821 BNL TDVD BRANCH IF NOT S21021 49629921 X R6,TD12 ALT. DIVISION S21021 49653221 B TDVD S21021 49663221 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 49673221 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 49675221 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 49675621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 49676021 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 49676421 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 49676521 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 49676621 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 49684421 MVI TIMAGE,C',' SET COMMA S21021 49686421 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 49688421 SPACE 1 49692221 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 49700020 SPACE 1 49770020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 49840021 BE CSERB YES - BRANCH S21021 49890021 SPACE 2 50260020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 50330020 SPACE 1 50400020 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 50470020 XR WORK2,WORK2 CLEAR REGISTER 50540020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT SYSTEM 24808 50610020 BC CC7,PCPTCB0 BRANCH--YES 24808 50680020 CLR WORK1,TCBREG COMPARE FOR DUMMY TCB 24808 50750020 BE FAILTCB BRANCH IF ILLEGAL S21021 50820021 PCPTCB0 EQU * 24808 50890020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 50960020 BC 8,FAILTCB BR-- ILLEGAL TCB 000C 51030020 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 51100020 BC 7,*+6 BR--RB IS NOT A PRB 51170020 LR WORK2,WORK1 SAVE PRB ADDRESS 51240020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 51310020 BC 1,ENDRBLST BR--END OF RB LIST 51380020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 51450020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 51520020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 51590020 BC 8,FAILTCB YES-BRANCH AROUND S21021 51660021 TM CVTDCB,OPTION1+OPTION2 PCP OR SPS SYSTEM 51730020 BC 7,RBFOUND BR--YES GET PROGRAM ID 51800020 * 51870020 * PROGRAM IDENTITY FOR MS1 51940020 * 52010020 L WORK2,CDPTR(WORK2) POINTER TO CONTENTS DIRECTORY 52080020 LA WORK2,MS1PGMID(WORK2) ADD OFFSET 52150020 * 52220020 * PROGRAM IDENTITY FOR PCP OR SPS 52290020 * 52360020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE 52430020 ***** GET JOBNAME IN PROPER AREA 52500021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 52550021 LA R1,FAILTCBA GET OVERLAY RETURN ADDR S21021 52560021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 52570021 FAILTCBA TM FLAGS,GPTESTCP TEST FOR GP REGS COMP. S21021 52620021 BC 8,SERLA BR--NO - GO READ HEADER 52920020 TM SW1,OVRLAY TEST FOR OVERLAY S21021 52990021 BO SERLA YES-BRANCH AROUND S21021 53040021 NI SW1,HEXBF SET RE COMPLETE S21021 53050021 BC 15,SERLA 53060020 SPACE 3 53110021 *********************************************************************** 53120021 RECOMP LR WORK4,WORK5 ADD OF RE JOBNAME TO WK4 S21021 53122021 L WORK5,K12(TCBREG) GET ADDR OF TIOT S21021 53124021 BAL R3,OVERLAY CHECK FOR ADDR OVERLAY S21021 53126021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 53128021 BR LINKREG RETURN S21021 53128421 *********************************************************************** 53128821 EJECT 53130020 *********************************************************************** 53200020 * * 53270020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 53340020 * * 53410020 *********************************************************************** 53480020 SPACE 1 53550020 **** PLACE CHANNEL TYPE RECORD ENTRY IN RE 53620020 SPACE 1 53690020 * GET CHANNEL IDENTITY 53760021 CSERB SR WORK1,WORK1 CLEAR REG S21021 53810021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 53820021 SRL WORK3,K9 GET CHAN/2 S21021 53822021 L WORK5,CTA GET ADDR OF CHAN TABLE S21021 53824021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 53826021 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 53828021 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 53828421 TM INCUA,HEX01 TEST FOR ODD CHAN ADDR S21021 53828821 BO ODDADR BRANCH IF ODD S21021 53829221 * EVEN ADDRESS 53829621 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 53829721 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 53829821 * GET CHANNEL ADDRESS FOR MESSAGE 53829921 ODDADR MVC ERRTYPE+K6(M1),INCUA MOVE NUMERIC PORTION S21021 53853221 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 53863221 SPACE 1 53876721 ***** LOCATE UCB AND LAST REQUEST ELEMENT 53900020 SPACE 1 53970020 XC INACTIO(M24),INACTIO CLR ACT I/O AND CCW FLD S21021 54040021 LH WORK2,INCUA CHANNEL/UNIT ADDRESS 54110020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 54180021 STH WORK2,INACTIO STORE CUA S21021 54230021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 54240021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 54250021 LA WORK3,K8 GET COUNT S21021 54300021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 54310021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 54320021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 54370021 BC 4,LKUPEND END OF LOOKUP S21021 54380021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 54390021 ***** GET CUA AND COMPARE 54440021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 54450021 N WORK5,CON7FF CLEAR FLAGS S21021 54460021 ***** TEST FOR FAILING CHANNEL 54510021 STH WORK5,DSRCC STORE CUA TEMP S21021 54520021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 54530021 BNE FINDUCB NO-GO GET NEXT ONE S21021 54580021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 54590021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 54600021 BNE ACTST NO-BRANCH AROUND S21021 54650021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 54660021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 54670021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 54720021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 54730021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 54740021 ***** TEST FOR ACTIVE DEVICE 54790021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 54800021 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 54810021 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 54860021 LA WORK3,K1 SET COUNTER TO 1 S21021 54870021 B FINDUCB GET NEXT UCB ADDR S21021 54880021 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 54930021 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 54940021 B FINDUCB GET NEXT UCB ADDR S21021 54942021 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 54944021 OI SW1,HEX08 SET ILLEGAL CUA FLAG ON S21021 54946021 B FAILCCW BRANCH S21021 54948021 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 54948421 SPACE 1 54950020 ***** TEST FOR ERP IN PROGRESS S21021 55020021 SPACE 1 55090020 TM UCBACT(WORK4),X'20' TEST 12* AVAILABLE 55160020 BZ FAILCCW NO - BRANCH S21021 55230021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 55300020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT 000C 55370020 BC 7,PCPTCB YES, BRANCH 000C 55440020 L TCBREG,12(WORK4) LOAD TCB POINTER FROM 12* 000C 55510020 BC 15,FIRSTCCW BRANCH 000C 55580020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 55650020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 55720020 SR TCBREG,TCBREG CLEAR TCB REG 000D 55790020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 55860020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 55910021 L WORK5,AD0(TCBREG,WORK5) TCB POINTER 000D 55930020 SR TCBREG,TCBREG CLEAR TCBREG 000D 56000020 LA R1,FIRSTCCW OVERLAYED DATA RETURN ADDR 000D 56070020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 000D 56140020 LR TCBREG,WORK5 TCB POINTER 000D 56210020 FIRSTCCW L WORK5,IOBPTR(WORK4) IOB POINTER FROM 12* 56280020 LA R1,FAILCCW OVERLAYED DATA RETURN ADDRESS 56350020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 56420020 TM IOBFLAG1(WORK5),IOBERR ERP IN PROGRESS 23243 56490020 BC CC8,NOERP BRANCH--NO 23243 56560020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 56630021 NOERP EQU * 23243 56700020 SPACE 1 56980020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 57050020 SPACE 1 57120020 FAILCCW L WORK5,INCSW LOAD COMMAND ADDRESS 57190020 LA WORK2,8 DECREMENT CONSTANT 57260020 SR WORK5,WORK2 DECREMENT 57330020 LA R1,IJOBNM GET POINTER S21021 57400021 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 57470020 CL WORK5,CVTMZ00 COMPARE FOR LEGAL ADDRESS 57540020 BC 11,IJOBNM BR-ADDR ILLEGAL S21021 57610021 SPACE 1 57750020 MVC INCCW(M8),AD0(WORK5) MOVE CCW TO RE AREA S21021 57820021 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 57870021 SPACE 1 57890020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 57960021 LA R1,SERLA GET OVERLAY RETURN ADDR S21021 58010021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 58020021 B FAILTCBA BRANCH TO COMPLETE S21021 58030021 EJECT 58240020 ***** SETUP FOR READ OF HEADER RECORD 59850020 SPACE 1 59920020 SERLA L WORK2,CVTDCB ADDRESS OF SER DCB 59990020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 60060020 L WORK1,UCBPTR(WORK6) ADDRESS OF SYS RES UCB 60130020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 60200020 N DADCUA,CON7FF AND OUT HIGH ORDER BITS 60270020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK 60340020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 60410020 MVC RDTEXT(8),RDHEADER READ HEADER CCW 60480020 BAL LINKREG,IORTN BRANCH TO READ HEADER 60550020 SPACE 1 60620020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 60830020 BC 7,LOGREC BR--HEADER INCORRECT 60900020 SPACE 1 60970020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 61040020 SPACE 1 61110020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 61180020 XR WORK4,WORK4 CLEAR REGISTER 61250020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 61320020 SLL WORK4,1 DOUBLE 61390020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 61460020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 61530021 BC 8,SER10 BR--RE TYPE IS INBOARD 61600020 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 61670020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 61740020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 61810020 BC 1,SER13 BR--RE WILL FIT ON TRACK 61880020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 61950020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 62020020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 62090021 BE SER12 YES - BRANCH S21021 62140021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 62370020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 62440020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 62510020 BC 15,SER10 BRANCH FOR ANOTHER PASS 62580020 SER12 XR WORK3,WORK3 CLEAR REGISTER 62650020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 62720020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 62790020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 62860020 BC 15,SER11 BRANCH FOR ANOTHER PASS 62930020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 63000020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 63070020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 63140020 BC 15,LOGREC BRANCH--SET UP FOR SEREP 63210020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 63280020 OI FLAGS,HDSWTCH HEAD SWITCH REQUIRED 63350020 MVC DISKSEEK(7),LASTTTR PLACE SEEK ADDR IN SEEK BUFFER 63420020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 63490020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 63560020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 63630020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 63700020 OI FLAGS,HEADEROK SET HEADER COMPLETE 63770020 SPACE 1 63840020 ***** SETUP FOR RECORD ENTRY WRITE 63910020 SPACE 1 63980020 WRITENT MVC RDTEXT(8),WRTRECCW SET UP CCW CHAIN TO WRITE RE 64050020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 64120020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 64190021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 64260020 LA WORK5,88 RE LGH FOR CCW CNT FLD S21021 64330021 LA WORK3,80 RE LGH FOR DATA CNT FLD S21021 64380021 STH WORK5,RDTEXT+6 SET COUNT IN CCW 64470020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 64540020 MDALLA BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 64610020 SPACE 1 64680020 ***** SETUP FOR END OF FILE (EOF) WRITE 64750020 SPACE 1 64820020 TM FLAGS,HDSWTCH IS HEAD SWITCHING REQUIRED 64890020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 64960020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 65030020 BC 15,EOFWRT 65100020 SWITCH MVI R0RDAREA+4,0 SET ID TO ZERO 65170020 MVC DISKSEEK+2(4),UPLIMIT MOVE SEEK ADDRESS TO SEEK BFR 65240020 EOFWRT MVC EOFRECRD(4),DISKSEEK+2 CCHH TO EOF RECORD 65310020 MVC RDTEXT(8),WRITEEOF SET UP CCW CHAIN FOR WRT EOF 65380020 BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 65450020 SPACE 1 65520020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 65590020 ***** TEST FOR 90 PERCENT FULL 65640021 NOEOF MVC CPULOG(M44),MSGAREA SAVE ERROR MESSAGE S21021 65650021 XC MSGAREA(M44),MSGAREA CLEAR MESSAGE AREA S21021 65652021 MVC MSGAREA(M29),WTO90 GET NEAR FULL MESSAGE S21021 65654021 TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 65656021 BO NOEWTST YES-BRANCH AROUND S21021 65658021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 65658421 BL NOEWTST BRANCH IF LOWER S21021 65658821 BH SETSW BRANCH IF GREATER S21021 65659221 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 65659621 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 65659721 BH NOEWTST BRANCH IF HIGHER S21021 65659821 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 65659921 ***** OUTPUT MESSAGE TO OPERATOR 65683221 MSG90 BAL LINKREG,PRINT GO PRINT MESSAGE S21021 65693221 SPACE 1 65706721 NOEWTST MVC RDTEXT(M8),WRTHEAD SET UP CCW CHAIN FOR WRT S21021 65730021 MVC MSGAREA(M44),CPULOG RESTORE ERROR MESSAGE S21021 65780021 L WORK2,CVTDCB ADDRESS OF SER DCB 65800020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 65870020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB-SEEK BFR 65940020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 66010020 BAL LINKREG,IORTN BRANCH--REWRITE HEADER 66080020 MDALLB OI FLAGS,IOCMPLTE ALL I/O COMPLETE INDICATOR 66150020 EJECT 66220020 *********************************************************************** 66290020 ** ** 66360020 *** COMPLETION OF SER0 - DETERMINE PROPER MESSAGE *** 66430020 ** ** 66500020 *********************************************************************** 66570020 COMPLETE LA R0,X'F05' WAIT CODE 66640020 MVI MSGAREA+5,C'5' MESSAGE CODE 66710020 MVI MSGAREA+6,C'W' WAIT STATE INDICATION 66780020 MVC IMAGE(M14),IMAGE1 PROPER MESSAGE S21021 66850021 TM FLAGS,SECONDMC WAS THERE A SECOND MC 66920020 BC 8,SEREP BR--NO 66990020 LA R0,X'F06' WAIT CODE-SECOND MC 67060020 MVI MSGAREA+5,C'6' MESSAGE CODE 67130020 BC 15,SEREP BRANCH--END 67200020 EJECT 67270020 *********************************************************************** 67340020 ** ** 67410020 *** CHECK FOR DATA OVERLAYED BY SER0 NON-RESIDENT PORTION *** 67480020 ** ** 67550020 *********************************************************************** 67620020 OVERLAY LA WORK1,PROGEND LAST ADDRESS 67690020 LA WORK5,0(WORK5) CLEAR HIGH ORDER BYTE 67760020 CR WORK5,WORK1 DATA ADDRESS OVERLAYED 67830020 BCR 10,R3 BR--ABOVE SER0-NOT OVERLAYED 67900020 CR WORK5,RF COMPARE WITH BASE 67970020 BCR 4,R3 BR--BELOW SER0-NOT OVERLAYED 68040020 OI SW1,OVRLAY FLAG AS OVERLAYED S21021 68110021 BCR 15,R1 BRANCH--OVERLAYED RETURN 68180020 DS 0F 68250020 EJECT 000B 68320020 ** 68390020 * CONSTANTS 000C 68460020 ** 000C 68530020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 68600020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 68670020 EJECT 68740020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 68810020 SPACE 2 68880020 * DAD SUBTRACTION CONSTANT TABLE 68950020 CONRE DC AL2(502) * 2311 CPU RE SUB CONST S21021 69020021 DC AL2(553) * 2301 CPU RE SUB CONST S21021 69070021 DC AL2(528) * 2303 CPU RE SUB CONST S21021 69080021 DC AL2(502) * 2302 CPU RE SUB CONST S21021 69090021 DC AL2(525) * 2321 CPU RE SUB CONST S21021 69140021 DC XL2'0' * DUMMY 000C 69370020 DC XL2'0' * DUMMY 000C 69440020 DC AL2(540) * 2314 CPU RE SUB CONST S21021 69510021 SPACE 1 69580020 CONIO DC AL2(152) * 2311 INB RE SUB CONST S21021 69650021 DC AL2(221) * 2301 INB RE SUB CONST S21021 69700021 DC AL2(196) * 2303 INB RE SUB CONST S21021 69710021 DC AL2(152) * 2302 INB RE SUB CONST S21021 69720021 DC AL2(175) * 2321 INB RE SUB CONST S21021 69770021 DC XL2'0' * DUMMY 000C 70000020 DC XL2'0' * DUMMY 000C 70070020 DC AL2(193) * 2314 INB RE SUB CONST S21021 70140021 EJECT 000D 70210020 *** CONSTANTS / STORAGE 000D 70280020 DS 0F 000D 70350020 FOUR DC XL4'4' 000D 70420020 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 70490020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 70560020 DS 0F 000D 70630020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 70700020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 70770020 IORCC DC X'00' 000D 70840020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 70910020 * BIT 5 MCS ENVIRONMENT 000D 70980020 SPACE 2 000D 71050020 SPACE 2 000D 71120020 ***** ERROR TERMINATION PRINT IMAGE 000D 71190020 SPACE 2 000D 71260020 DS 0F 000D 71330020 MSGAREA DC C'IFBF07S' S21021 71400021 ERRTYPE DC CL14' ' S21021 71450021 IMAGE DC C' EXECUTE SEREP' S21021 71460021 TIMAGE DC CL10' ' S21021 71470021 IMAGE1 DC C' RELOAD OS/360' S21021 71520021 IMAGE5 DC C' CHAN ERROR.' S21021 71530021 IMAGE6 DC C' CPU ERROR.' S21021 71540021 ***** 90 PER CENT FULL MESSAGE 71590021 DS 0F S21021 71600021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 71602021 TD10E5 DC F'200000' S21021 71604021 TDCNVR DC X'0249F000' S21021 71606021 TDIV DC F'10' S21021 71608021 TD12 DC F'12' S21021 71608421 TD24 DC F'24' S21021 71608821 TABLE DC C'0123456789ABCDEF' S21021 71609221 SPACE 2 000D 71610020 ***** ERROR MESSAGE CODE BYTE SIX 000D 71680020 * EQUAL 5 -RECORDING SUCCESSFUL - NORMAL TERMINATION 000D 71750020 * EQUAL 6 -RECORDING SUCCESSFUL - SECOND MC OCCURRED 000D 71820020 * EQUAL 7 -RECORDING NOT SUCCESSFUL - ADDITIONAL MC OCCURRED000D 71890020 * EQUAL 8 -RECORDING NOT SUCCESSFUL - DUE TO I/O FAILURES 000D 71960020 * EQUAL 9 -RECORDING NOT SUCCESSFUL - SYS1.LOGREC FULL/BAD 000D 72030020 * EQUAL A -RECORDING NOT SUCCESSFUL - COULDN'T READ NON-RES 000D 72100020 EJECT 000D 72170020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 72240020 SPACE 1 000D 72310020 DS 0H 000D 72380020 LOCCONS L RE,DSECTSAV SER0 DSECT AREA 000D 72450020 L CVTREG,CVTMACRO POINTER TO CVT 000D 72520020 L WORK1,CVTCUCB ADDRESS OF CONSOLE UCM 000D 72590020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 72660020 BC CC1,CONCUA BRANCH--BYPASS 000D 72730020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 72800020 BC CC1,MCSROUT BRANCH--YES 000D 72870020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 72940020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 73010020 BC CC1,GETCUAA BRANCH--YES GET CUA 000D 73080020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 73150020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 73220020 GETCUAA EQU * 000D 73290020 BAL WORK5,GETCUA GET CUA 000D 73360020 BC CC15,CONCUA1 BRANCH 000D 73430020 SPACE 1 000D 73500020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 73570020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 73640020 BC CC1,GETCUA1 BRANCH--YES 000D 73710020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 73780020 GETCUA1 EQU * 000D 73850020 BAL WORK5,GETCUA+AD4 GET CUA 000D 73920020 CONCUA1 EQU * 000D 73990020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 74060020 STH MSGCUA,MSTMCS SAVE CUA 000D 74130020 CUAEXIT BCR CC15,LINKREG RETURN TO MAINLINE 000D 74200020 EJECT 000D 74270020 *** GET CUA OF CONSOLE FROM UCB 000D 74340020 SPACE 1 000D 74410020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 74480020 LA WORK1,TYPEWRIT CONSOLE PRINTER 000D 74550020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 74620020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 74690020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 74760020 EJECT 000D 74830020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 74900020 ***** PRINT 90 PER CENT FULL MESSAGE 74950021 SPACE 1 000D 74970020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 75040020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 75090021 ST WORK1,AD72 STORE IN CAW 000D 75110020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 75180021 SIO AD0(MSGCUA) START I/O 000D 75250020 LA WORK1,HEX40 COUNT S21021 75320021 SLL WORK1,K10 MULTIPLY S21021 75370021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 75380021 BC CC8,TIOLOPA OK-BRANCH S21021 75382021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 75384021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 75386021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 75390020 BCR CC15,LINKREG RETURN 000D 75460020 EJECT 000D 75530020 * 000D 75600020 *** PRINT HARDCOPY ROUTINE 000D 75670020 * 000D 75740020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 75810020 LTR WORK1,WORK1 IS IT ZERO 000D 75880020 BCR CC8,LINKREG RETURN 000D 75950020 ST WORK1,AD72 STORE IN CAW 000D 76020020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 76070021 SIO AD0(MSGCUA) START DEVICE S21021 76080021 LA WORK1,HEX40 COUNT S21021 76090021 SLL WORK1,K10 POSITION 000D 76160020 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 76230020 BC CC8,FREE BRANCH--FREE 000D 76300020 BCT WORK1,PRTHC1 TRY AGAIN 000D 76370020 FREE BR LINKREG RETURN S21021 76440021 EJECT 000D 76650020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 76720020 SPACE 1 000D 76790020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 76860020 S WORK1,FOUR GET ADDRESS UCM BASE 000D 76930020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 77000020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 77070020 BC CC8,CUAEXIT YES, INVALID 000D 77140020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 77210020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 77280020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 77350020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 77420020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 77490020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 77560020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 77630020 SPACE 2 000D 77700020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 77770020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 77840020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 77910020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 77980020 LTR WORK2,WORK2 SYSLOG ONLY A31693 78050020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 78120020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 78190020 BAL RD,CHKAVAI CONSOLE AVAILABLE P3984 78260020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 78330020 BC CC1,CUAEXIT BRANCH--NO 000D 78400020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 78470020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 78540020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 78610020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 78680020 L WORK1,HCCCWADR CCW ADDRESS 000D 78750020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 78820020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 78890020 BC CC15,CUAEXIT EXIT 000D 78960020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 79030020 BC CC15,CUAEXIT EXIT 000D 79100020 SPACE 1 000D 79170020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 79240020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 79310020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 79380020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 79450020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 79520020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 79590020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 79660020 BC CC1,UCBADD BRANCH--YES 000D 79730020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 79800020 BC CC1,UCBADD BRANCH--YES 000D 79870020 BC CC15,CHKA BRANCH 000D 79940020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 80010020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 000D 80080020 CHKA EQU * 000D 80150020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 80220020 BCR CC15,RD RETURN P3984 80290020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 80360020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 80430020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 80500020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 80570020 BNE UCBADD1 BRANCH --NO 000E 80640020 L WORK4,K28(WORK4) POINTER TO DCM 000E 80710020 SR PARMREG1,PARMREG1 CLEAR 000E 80780020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 80850020 L WORK1,K20(WORK4) CCW CHAIN POINTER 000E 80920020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 80990020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 81060020 AR PARMREG1,WORK1 CCW ADDRESS 000E 81130020 MVC K1(K3,PARMREG1),MSGBFRAD GET MESSAGE ADDRESS S21257 81200021 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 81270020 B SAVECCW CONTINUE 000E 81340020 UCBADD1 EQU * 000E 81410020 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 000D 81550020 BC CC7,SAVECCW BRANCH--NO 000D 81620020 LA WORK1,CCW2740 ADDRESS OF 2740 CCW 000D 81690020 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADR 000D 81760020 LR WORK1,WORK3 RESTORE WORK1 POINTWER 000D 81830020 BCR CC15,RD RETURN P3984 81900020 MSGBFRAD EQU TYPEWRIT+9 COUNT FIELD S21527 81950021 COUNT EQU TYPEWRIT+14 COUNT FIELD S21527 81960021 EJECT 81970020 * 000D 82040020 ***** R E C O R D E N T R Y B U I L D A R E A 82110020 * 82180020 DS 0F ALIGN S21021 82250021 ORG IFBSER00+3056 S21021 82300021 CTFLDID DC XL5'0' COUNT FIELD 82320020 CTFLDKEY DC X'00' KEY LENGTH S21021 82390021 CTFLDDL DC AL2(412) DATA LENGTH FOR MC RE S21021 82440021 CLASSRC DC X'19' MACHINE CHECK/SER0 S21021 82450021 SYSREL DC X'00' RELEASE NUMBER S21021 82460021 SWS DC XL6'0' SWITCHES S21021 82510021 SW0 EQU SWS S21021 82520021 SW1 EQU SWS+1 S21021 82530021 * SWITCH SETTINGS ON CPU RECORD S21021 82580021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 82590021 * BIT 1 - NS CLOCK S21021 82600021 * BIT 2 - EC MODE S21021 82650021 * BIT 3 - SPARE S21021 82660021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 82670021 * BIT 5 - SPARE S21021 82720021 * BIT 6 - SPARE S21021 82730021 * BIT 7 - SPARE S21021 82740021 * BIT 8 - SHORT RECORD S21021 82790021 * BIT 9 - RECORD INCOMPLETE S21021 82800021 * BIT 10 - SYSTEM TERMINATED S21021 82810021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 82860021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 82870021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 82880021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 82930021 * BIT 15 - SPARE S21021 82940021 REDATE DC XL4'0' DATE S21021 82950021 RETIME DC XL4'0' TIME S21021 83000021 SP1 DC X'0' NOT USED S21021 83010021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 83020021 RECPUID DC X'0040' CPU ID - MOD 40 S21021 83070021 SP2 DC X'0000' SPARE S21021 83080021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 83090021 JOBNAME DC XL8'0' JOBNAME S21021 83140021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 83150021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 83160021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 83210021 GPRPAR DC XL8'0' GP REG PARITY-FOLD AREA S21021 83220021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 83230021 CPULOG DC 256X'00' CPU HARDWARE LOG AREA S21021 83280021 SPACE 2 83290021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 83300021 SPACE 2 83350021 * SWITCH SETTINGS FOR CHANNEL RECORD 83360021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 83370021 * BIT 1 - NS CLOCK S21021 83420021 * BIT 2 - EC MODE S21021 83430021 * BIT 3 - SPARE S21021 83440021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 83490021 * BIT 5 - SPARE S21021 83500021 * BIT 6 - SPARE S21021 83510021 * BIT 7 - SPARE S21021 83560021 * BIT 8 - MESSAGE REQUIRED S21021 83570021 * BIT 9 - RECORD INCOMPLETE S21021 83580021 * BIT 10 - SYSTEM TERMINATED S21021 83630021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 83640021 * BIT 12 - ILLEGAL CUA S21021 83650021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 83700021 * BIT 14 - ERP IN PROGRESS S21021 83710021 * BIT 15 - SPARE S21021 83720021 IJOBNAME EQU PROGID JOBNAME S21021 83770021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 83780021 INCCW EQU PROGID+24 FAILING CCW S21021 83790021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 83840021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 83850021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 83860021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 83910021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 83920021 INMP EQU PROGID+52 MP INFO S21021 83930021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 83980021 EJECT 000D 85960020 * 000D 86030020 *** HEADER RECORD FROM SYS1.LOGREC 000C 86100020 * 000C 86170020 HDRREC DS 0F S21021 86240021 DC X'FF000000',9F'0' S21021 86290021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 86300021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 86310021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 86360021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 86370021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 86380021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 86430021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 86440021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 86450021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 86500021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 86510021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 86520021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 86570021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 86580021 SPACE 2 87080020 * 000C 87150020 *** PROGRAM WORK AREAS 000C 87220020 * 000C 87290020 DS 0D 000C 87360020 DSRCC DC 2F'0' WORK AREA S21021 87410021 DISKSEEK DC XL8'0' INPUT SEEK ADDRESS BBCCHHR 000C 87430020 EOFRECRD DC X'00000000FF000000' EOF RECORD AREA 000C 87500020 PGMPSW DC X'0004000000000000' PROGRAM PSW 000C 87570020 ZERO DC XL4'0' ZERO CONSTANT 000C 87640020 DSECTSAV DC XL4'0' SER AREA SAVE ADDRESS 000C 87710020 R2SAVE DC XL4'0' R2 SAVE AREA 000C 87780020 R0RDAREA DC XL5'0' RO READ AREA 000C 87850020 SENAREA DC XL3'0' SENSE AREA 000C 87920020 SPACE 1 87990020 PROGEND EQU * 88060020 SPACE 3 88130020 END 88200020 ./ ADD SSI=01013224,NAME=IFBSR050,SOURCE=0 TITLE 'IFBSER00/IFBSR050 SER0/SYSTEM ENVIRONMENT RECORDING' 00070020 *********************************************************************** 00140020 *STATUS/CHANGE LEVEL: 000 * 00210020 * * 00280020 *FUNCTION/OPERATION: THIS MODULE WILL PRESERVE THE STATUS OF HARDWARE * 00350020 * GIVEN A MACHINE MALFUNCTION BY COLLECTING, FORMATTING, AND WRITING* 00420020 * ONTO THE SYS1.LOGREC DATA SET, ERROR DATA RESULTING FROM THE * 00490020 * FOLLOWING TWO CONDITIONS: * 00560020 * * 00630020 * (1) A MACHINE CHECK INTERRUPT WITHIN THE CPU, CORE STORAGE, OR * 00700020 * CHANNELS; OR * 00770020 * (2) AN I/O ERROR INTERRUPT WITHIN THE CHANNELS OR CONTROL UNITS. * 00840020 * * 00910020 * * 00980020 *ENTRY POINT: THE PROGRAM BEGINS AT THE SYMBOL 'IFCSER00' * 01050020 * * 01120020 *INPUT: CONTENTS OF GPR 13,14,15 ARE SAVED IN LOWER CORE - LOC. 8-19 -* 01190020 * BY THE CALLING MODULE FOR THIS PROGRAM, IFBSR000. * 01260020 * * 01330020 *OUTPUT: ALL TERMINATION MESSAGES ARE TO OPERATOR VIA CONSOLE * 01400020 * * 01470020 *EXTERNAL SUBROUTINES: NONE * 01540020 * * 01610020 *EXITS - NORMAL: THERE ARE TWO CONDITIONS UNDER WHICH NORMAL COMPLET- * 01680020 * ION OF THE PROGRAM WILL OCCUR. (1) IF MACHINE CHECK INTERRUPTS * 01750020 * HAVE NOT OCCURRED DURING THE DATA COLLECTION PHASE OF THIS PROGRAM* 01820020 * THEN THE MESSAGE: * 01890020 * * 01960020 * IFBF05W MACHINE ERROR. RELOAD OS/360 * 02030020 * * 02100020 * WILL BE OUTPUTTED. IF, HOWEVER, (2) A MACHINE CHECK INTERRUPT * 02170020 * OCCURRED WHILE IN THE PROCESS OF COLLECTING DATA ON THE ORIGINAL * 02240020 * ERROR CONDITION, DATA COLLECTION TERMINATES AND AN ATTEMPT IS * 02310020 * MADE TO RECORD THE (PARTIAL) DATA RECORD. IF THE RECORDING IS * 02380020 * SUSCESSFUL, THE MESSAGE: * 02450020 * * 02520020 * IFBF06W MACHINE ERROR. RELOAD OS/360 * 02590020 * * 02660020 * WILL BE OUTPUTTED. IN THE EVENT THAT EITHER EOJ MESSAGE IS * 02730020 * NOT ABLE TO BE OUTPUTTED, THE IOS DISPLAY CODE, X'F05' IS SET UP * 02800020 * AND A BRANCH WILL BE MADE TO THE BELL RINGING ROUTINE WHICH, IN * 02870020 * TURN, WILL PUT THE SYSTEM INTO THE WAIT STATE. * 02940020 * * 03010020 *EXITS-ERRORS: THERE ARE FOUR CONDITIONS UNDER WHICH THE PROGRAM * 03080020 * WILL TAKE THIS EXIT. (1) THE DATA COLLECTED ON THE ORIGINAL ERROR * 03150020 * CONDITION MAY NOT , DUE TO I/O ERRORS, BE ENTERED ONTO THE SYS1.- * 03220020 * LOGREC DATA SET. IN THIS CASE, THE MESSAGE * 03290020 * * 03360020 * IFBF08S MACHINE ERROR. EXECUTE SEREP * 03430020 * * 03500020 * WILL OCCUR. (2) THE SECOND CASE IS WHERE, GIVEN A MCI DURING THE * 03570020 * DATA COLLECTION PHASE, THE ATTEMPT TO OUTPUT (THE PARTIAL RECORD * 03640020 * ENTRY) IS UNSUSCESSFUL DUE TO AN ADDITIONAL MACHINE CK. INT. IN * 03710020 * THIS CASE, THE MESSAGE: * 03780020 * * 03850020 * IFBF07S MACHINE ERROR. EXECUTE SEREP * 03920020 * * 03990020 * IS OUTPUTTED. THE THIRD CASE IS WHERE THE SYS1.LOGREC DATA SET * 04060020 * IS FULL OR THE SAFETY BYTE IN THE HEADER RECORD IS OFF. IN THIS * 04130020 * CASE, THE MESSAGE; * 04200020 * * 04270020 * IFBF09S MACHINE ERROR. EXECUTE SEREP * 04340020 * * 04410020 * A FOURTH CASE OCCURS WHEN THIS PROGRAM CANNOT 'BOOTSTRAP' THE * 04480020 * SECOND 1024 BYTES OF ITSELF INTO CORE FROM THE LINK LIBRARY. IN * 04550020 * THIS CASE, THE MESSAGE, * 04620020 * * 04690020 * IFBF0AS MACHINE ERROR. EXECUTE SEREP * 04760020 * * 04830020 *EXITS-SPECIAL: IN THE EVENT OF AN ABNORMAL TERMINATION, IOS HAS * 04900020 * ESTABLISHED WAIT-STATE CODES X'F05' TO X'F0A' FOR USE BY THIS * 04970020 * PROGRAM. IN THE EVENT THAT A TERMINATION MESSAGE CANNOT BE PRINTED* 05040020 * ON EITHER THE PRIMARY OR ALTERNATE I/O DEVICE, THIS CODE WILL * 05110020 * BE DISPLAYED IN THE 'IC' OF THE CURRENT PSW. * 05180020 * * 05250020 *TABLES/WORK AREAS: A SECTION OF CONSTANTS IS GIVEN WHICH RELATES * 05320020 * TRACK LENGTH REQUIREMENTS FOR ANY TYPE OF RECORDING AND ANY I/O * 05390020 * DEVICE CURRENTLY BEING SUPPORTED AS A SYSTEMS RESIDENCE DEVICE. * 05460020 * * 05530020 *ATTRIBUTES: PROGRAM IS NON-RESUABLE, DOES NOT USE IOS OR OS/360 * 05600020 * FACILITIES, REQUIRES A RELOAD OF OS/360 AND ABORTED TASKS UPON * 05670020 * COMPLETION OF FUNCTIONS, AND, AFTER NORMAL OR ABNORMAL TERMINATION* 05740020 * THIS PROGRAM WILL ENTER THE WAIT STATE. THIS PROGRAM HAS BEEN * 05810020 * DESIGNED FOR THE SSS,SPS, OR MS1 VERSIONS OF OS/360. * 05880020 *********************************************************************** 05950020 EJECT 06020020 * HEADER RECORD AREA * 06070021 * ***************************************************************** 06080021 * * * * HIGH * 06082021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 06084021 * * * (CCHH) * (CC) * 06086021 * ***************************************************************** 06088021 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 06088421 * +8 * (CONT.) * * (BBCCHHR) * 06088821 * * (HH) * * * 06089221 * ***************************************************************** 06089621 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 06089721 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 06089821 * * (CONT.) * TRACK * TRACK * WRITTEN * 06089921 * ***************************************************************** 06113221 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 06123221 * +24 * WRITTEN (CONT.) * PER * WARN. * 06133221 * * * CYLINDER * CNT. * 06135221 * ***************************************************************** 06135621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 06136021 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 06136421 * * CNT. * CODE * * SWT. * (FF) * 06136521 * ***************************************************************** 06136621 EJECT 06144421 * CPU RECORD ENTRY AREA * 06152221 * ***************************************************************** 06160020 * * CLASS * SYS- * * * 06230021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06280021 * * * RLSE. * * * 06290021 * ***************************************************************** 06440020 * * * * 06510020 * +8 * DATE * TIME * 06580020 * * * * 06650020 * ***************************************************************** 06720020 * * * * * * 06790021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 06840021 * * * * * * 06850021 * ***************************************************************** 06860021 * * * 06910021 * +24 * PROGRAM IDENTITY * 06920021 * * * 06930021 * ***************************************************************** 06980021 * * * 06990021 * +32 * JOB IDENTITY * 07000021 * * * 07050021 * ***************************************************************** 07060021 * * * 07070021 * +40 * MACHINE CHECK OLD PSW * 07120021 * * * 07130021 * ***************************************************************** 07140021 * * * 07190021 * +48 * VARIABLE LOGOUT FIELD * 07200021 * * * 07210021 * ***************************************************************** 07260021 * * * 07270021 * * MCH * 07280021 * * DAMAGE ASSESSMENT * 07330021 * * * 07340021 * ***************************************************************** 07350021 EJECT 000C 09870020 SPACE 3 09940020 * INBOARD RECORD ENTRY AREA * 10010020 * ***************************************************************** 10080020 * * CLASS * SYS- * * * 10150021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 10200021 * * * RLSE. * * * 10210021 * ***************************************************************** 10360020 * * * * 10430020 * +8 * DATE * TIME * 10500020 * * * * 10570020 * ***************************************************************** 10640020 * * * * * * 10710021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 10760021 * * * * * * 10770021 * ***************************************************************** 10780021 * * * 10830021 * +24 * JOB IDENTITY * 10840021 * * * 10850021 * ***************************************************************** 10900021 * * * 10910021 * +32 * ACTIVE I/O UNITS * 10920021 * * * 10970021 * ***************************************************************** 10980021 * * * 10990021 * +48 * FAILING CCW * 11040021 * * * 11050021 * ***************************************************************** 11060021 * * * 11110021 * +56 * CSW * 11120021 * * * 11130021 * ***************************************************************** 11180021 * * * * 11190021 * +64 * ECSW * DEVICE TYPE * 11200021 * * * * 11250021 * ***************************************************************** 11260021 * * CHAN. * * * 11270021 * +72 * IDENT * CUA * MP INFO * 11320021 * * * * 11330021 * ***************************************************************** 11340021 * * MACHINE DEPENDENT * 11390021 * +80 * CHANNEL * 11400021 * * LOG * 11410021 * ***************************************************************** 11460021 EJECT 13510020 R0 EQU 0 13580020 R1 EQU 1 13650020 R2 EQU 2 13720020 R3 EQU 3 13790020 R4 EQU 4 13860020 R5 EQU 5 13930020 R6 EQU 6 14000020 R7 EQU 7 14070020 R8 EQU 8 14140020 R9 EQU 9 14210020 RA EQU 10 14280020 RB EQU 11 14350020 RC EQU 12 14420020 RD EQU 13 14490020 RE EQU 14 14560020 RF EQU 15 14630020 SPACE 1 14700020 PARMREG0 EQU 5 PARAMETER REGISTER 14770020 PARMREG1 EQU 1 PARAMETER REGISTER 14840020 WORK1 EQU 2 WORK REGISTER 14910020 WORK2 EQU 3 WORK REGISTER 14980020 WORK3 EQU 4 WORK REGISTER 15050020 WORK4 EQU 5 WORK REGISTER 15120020 WORK5 EQU 6 15190020 WORK6 EQU 7 WORK REGISTER 15260020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 15330020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 15400020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 15470020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 15540020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 15610020 SPACE 1 15680020 ENTRY IFBSER00 15750020 EJECT 15820020 ACTTCB EQU 4 15890020 UCBACT EQU 6 15960020 IOBPTR EQU 4 16030020 STARTADR EQU 16 16100020 UCBCUA EQU 4 16170020 SPACE 1 16240020 SHPC EQU 0 16310020 T4PC EQU 4 16380020 LTPC EQU 8 16450020 SPACE 1 16520020 TOPRBP EQU 0 16590020 UCBTYPE EQU 16 S21021 16640021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000C 16660020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 16730020 SPACE 1 16800020 SPACE 1 16870020 BOOTSTRP EQU X'80' BOOTSTRAPING COMPLETE 16940020 IORTYENT EQU X'40' ENTRY DUE TO I/O RETRY 17010020 HEADEROK EQU X'20' HEADER READ AND UPDATED OK 17080020 IOCMPLTE EQU X'10' I/O OPERATION COMPLETE SWITCH 17150020 GPTESTCP EQU X'08' GP REGISTER TEST COMPLETE 17220020 CCWUPDAT EQU X'04' CCW UPDATE COMPLETE 17290020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 17360020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 17430020 HEX0 EQU X'00' S21021 17480021 HEX01 EQU X'01' S21021 17490021 HEX08 EQU X'08' S21021 17492021 HEX0F EQU X'0F' S21021 17494021 HEX50 EQU X'50' CPU MODEL ID S21021 17496021 HEX80 EQU X'80' S21021 17498021 HEXA0 EQU X'A0' S21021 17498421 HEXBF EQU X'BF' S21021 17498821 HEXC0 EQU X'C0' S21014 17499221 SPACE 1 17500020 DCBF0 EQU 44 17570020 DEBF2 EQU 32 17640020 DEBF4 EQU 36 17710020 UCBF3B EQU 19 DEVICE TYPE ENTRY 17780020 UCBF12 EQU 20 17850020 SPACE 1 17920020 OPTION1 EQU 64 17990020 OPTION2 EQU 32 18060020 CDPTR EQU 12 18130020 MS1PGMID EQU 8 18200020 SPACE 1 18270020 SPACE 1 18340020 UCMUCB EQU 12 UCM POINTER TO UCB 18410020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 18480020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 18550021 UCMOF EQU 128 WTO SUPPORT (UCM) 18620020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 18690020 SPACE 1 18760020 DEBPT EQU 8 18830020 UCBPTR EQU 32 18900020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 18970020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 19040020 SPACE 1 19110020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 19180020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 19250020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 19320020 UCMMODE EQU X'44' UCM FLAGS A47227 19390021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 19460020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 19530020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 19600020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 19670020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 19740020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 19810020 UCMHRDT EQU X'40' UCM HARD COPY 000D 19880020 UCMSTS EQU 24 000D 19950020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 20020020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 20090020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 20160020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 20230020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 20300020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 20370020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 20440020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 20510020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 20580020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 20650020 IOBERR EQU X'20' IOB ERP INDICATOR 23243 20720020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 20790021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 20840021 OVRLAY EQU X'04' DATA FOR RE OVERLAYED S21021 20850021 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 20860020 EJECT 20930020 * EQUATES USED FOR CONDITION CODES 21000020 CC1 EQU 1 000D 21070020 CC6 EQU 6 000D 21140020 CC7 EQU 7 000D 21210020 CC8 EQU 8 000D 21280020 CC9 EQU 9 000D 21350020 CC15 EQU 15 000D 21420020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 21490020 AD0 EQU 0 000D 21560020 AD2 EQU 2 S21021 21610021 AD3 EQU 3 S21021 21620021 AD1 EQU 1 000D 21630020 AD4 EQU 4 000D 21700020 AD5 EQU 5 000D 21770020 AD6 EQU 6 000D 21840020 AD8 EQU 8 000D 21910020 AD9 EQU 9 S21021 21960021 AD12 EQU 12 000D 21980020 AD56 EQU 56 000D 22050020 AD72 EQU 72 000D 22120020 AD124 EQU 124 000D 22190020 * EQUATES USED FOR CONSTANTS 22260020 K2 EQU 2 000D 22330020 K4 EQU 4 000D 22400020 K5 EQU 5 000D 22470020 K9 EQU 9 S21021 22520021 K10 EQU 10 000D 22540020 K12 EQU 12 S21021 22590021 K80 EQU X'80' 000D 22610020 KFF EQU X'FF' 000D 22680020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 22750020 M1 EQU 1 S21021 22800021 M2 EQU 2 000D 22820020 M4 EQU 4 S21021 22870021 M6 EQU 6 000D 22890020 M7 EQU 7 S21021 22940021 M8 EQU 8 000E 22960020 M12 EQU 12 000D 23030020 M14 EQU 14 000D 23100020 M24 EQU 24 S21021 23170021 M29 EQU 29 S21021 23220021 M44 EQU 44 S21021 23230021 M56 EQU 56 S21021 23240021 K1 EQU 1 000E 23310020 K3 EQU 3 000E 23380020 K6 EQU 6 000E 23450020 K8 EQU 8 000E 23520020 K20 EQU 20 000E 23590020 K28 EQU 28 000E 23660020 LOC40 EQU 40 S21014 23710021 LOC107 EQU 107 S21014 23720021 CPUSER1 EQU X'19' MCH RECORDING S21021 23722021 INBSER1 EQU X'29' CLASS AND SOURCE RECORD S21021 23724021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 23726021 SPACE 1 23730020 EJECT 23800020 IFBSR050 CSECT 23870020 *0121 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 23940021 *0267 062300-063700,067900-098000,101500-102900,107100-134400, S21021 23990021 * 207900,231700-232400,271600,302400,358400,377300,378700, S21021 24000021 * 389200,390600,393400,511000,515200,518000,525700, S21021 24010021 * 528500-532000,538300,546700,555100-558600,566300,569100, S21021 24060021 * 569800-577500,581000,595000,596400-597800,602700, S21021 24070021 * 604800-605500,606900,608300-610400,611800-626500, S21021 24080021 * 635600-636300,644000,649600-651700,670600,672000-672700, S21021 24130021 * 685300-686000,697200,709800,722400-725200,728700-7315008 S21021 24140021 * 733600,746900-748300,784000,844900,847700,855400, S21021 24150021 * 856800-891800,895300-903000 S21021 24200021 USING CVTDSECT,CVTREG 24570020 CVTDSECT DSECT 24640020 EQUATE CVT 24710020 EJECT 24780020 *********************************************************************** 24850020 ** ** 24920020 *** SER0 PASS DSECT - PARAMETERS SUPPLIED FROM NUCLEUS *** 24990020 ** ** 25060020 *********************************************************************** 25130020 USING SERDSECT,RE 25200020 SERDSECT DSECT 25270020 RING DC V(IECIWTST) ADDRESS OF BELL RING ROUTINE 25340020 CTA DC V(IFBACTA) CHANNEL TYPE ASSIGNMENTS 25410020 CVTMACRO DC V(IEACVT) ADDRESS OF CVT 25480020 IFBACUA DS CL2 LINK LIBRARY DEVICE CUA 25550020 DS CL2 25620020 IFBASEEK DS CL5 CCHHR OF 1ST TEXT RECORD-LINKLIB 25690020 IFBSR050 CSECT 25760020 EJECT 25830020 *********************************************************************** 25900020 ** ** 25970020 *** INITIAL ENTRY POINT FROM RESIDENT NUCLEUS MODULE *** 26040020 ** ** 26110020 *********************************************************************** 26180020 USING *,RF 26250020 IFBSER00 DC X'83000F90' DIAGNOSE INSTRUCTION 26320020 DS 32F DIAGNOSE LOGOUT AREA 26390020 DC X'00001F72' EXIT TO I FETCH 26460020 * 26530020 * THIS DIAGNOSE INSTRUCTION IS TO GET THE VALUES OF THE GENERAL 26600020 * PURPOSE REGISTERS AND THERE PARITY BITS FOR ENTRANCE INTO THE 26670020 * RECORD ENTRY AREA. ON THE SECOND PASS THE FLOATING POINT REGISTERS 26740020 * ARE OBTAINED. 26810020 * 26880020 FPSWITCH BC 0,FPRETURN BRANCH SWITCH FOR FP REGS. 26950020 L RF,116 BASE REG 27020020 LM R0,RC,FPSWITCH CORRECT PARITY 27090020 XC HDRREC(80),HDRREC CLEAR HEADER REC AREA S21021 27160021 MVI RECPUID+AD1,HEX50 GET CPU MODEL ID S21021 27210021 MVI PGMPSW+1,X'04' SET ENABLE BIT 27230020 MVI EOFRECRD+4,X'FF' SET UP EOF RECORD 27300020 ST RE,DSECTSAV SAVE SER0 PASS PARAMETERS 27370020 MVC INLOG(48),CPULOG+8 REPOSITION CHANNEL LOG 27440020 MVC CPULOG(164),CPULOG+4 REPOSITION CPU LOG 27510020 SER LA RD,SERA RETURN POINT 27580020 ST RD,PGMPSW+4 ENABLE PSW 27650020 MVC 112(8),PGMPSW PLACE IN HARDWARE 27720020 LA RD,SECMCI SECOND MCI HANDLER 27790020 LPSW PGMPSW ENABLE 27860020 SERA ST RD,116 MC NEW PSW 27930020 MVI 113,0 DISABLE MCI'S 28000020 MVC 104(8),112 PROG NEW PSW 28070020 SPACE 1 28140020 * * 28210020 *** DATA ADDRESS FIELD OF CCW'S REQUIRE MODIFICATION *** 28280020 * * 28350020 LA RE,SENSECCW FIRST CCW OF CHAIN 28420020 SERB L RD,0(RE) DATA ADDRESS FIELD OF CCW 28490020 AR RD,RF ADD IN BASE VALUE 28560020 ST RD,0(RE) RESTORE UPDATED ADDRESS 28630020 LA RE,8(RE) NEXT CCW 28700020 LA RD,LASTCCW CHECK FOR END 28770020 CLR RE,RD LAST ONE 28840020 BC 4,SERB BRANCH--NOT THE END 28910020 MVC TXTSAVE(4),RDTEXT SAVE FOR POSSIBLE RETRY A31477 28980020 OI FLAGS,CCWUPDAT INDICATE CCW UPDATED 29050020 EJECT 29120020 *********************************************************************** 29190020 ** ** 29260020 *** DETERMINE LINK LIBRARY DEVICE TYPE AND READ REMAINING *** 29330020 *** SER 0 - PORTIONS *** 29400020 ** ** 29470020 *********************************************************************** 29540020 RDNXTMOD L RE,DSECTSAV RELOAD DSECT FOR SER0 PARAMETERS 29610020 L CVTREG,CVTMACRO POINTER TO THE CVT 29680020 SPACE 1 29750020 TM FLAGS,IORTYENT SECOND PASS BECAUSE OF RETRY FAIL 29820020 BC 1,NOIFBSR BR--MODULE NOT LOADED 29890020 SPACE 1 29960020 L R1,CVTLINK DCB OF THE LINKLIB 30030020 L R1,DCBF0(R1) DEB ADDRESS-LINK LIBRARY 30100020 L R1,DEBF2(R1) LINK LIBRARY DEVICE-UCB ADDRESS 30170020 MVC DEVCODE(M1),UCBF3B(R1) GET LINKLIB DEV CODE S21021 30240021 SPACE 1 30310020 LH DADCUA,IFBACUA LINK LIBRARY CUA-FROM SER DSECT 30380020 MVC DISKSEEK+2(5),IFBASEEK CCHHR OF 1ST TEXT RECORD 30450020 MVC R0RDAREA+4(1),IFBASEEK+4 R OF THE FIRST TEXT RECORD 30520020 MVC RDTEXT(4),TXTSAVE INITIAL CCW A31477 30590020 LA R2,2 NUMBER OF PASSES 000C 30660020 LA RD,2 READ TWO RECORDS-1 CTRL $ 1 TEXT 30730020 RDMODS IC R1,R0RDAREA+4 GET R AND UPDATE TO READ 30800020 LA R1,1(R1) CONTROL RECORD 30870020 STC R1,R0RDAREA+4 RESTORE 30940020 ST R2,R2SAVE STORE IN TEMP LOCATION 000C 31010020 BAL LINKREG,IORTN READ CONTROL RECORD 31080020 L R2,R2SAVE RESTORE R2 000C 31150020 BCT RD,RDMODS NEXT 31220020 L R1,RDTEXT READ ADDRESS IN CCW 000C 31290020 LA R1,1024(R1) UPDATE FOR NEXT RECORD 000C 31360020 ST R1,RDTEXT STORE 000C 31430020 MVI RDTEXT,X'06' RESTORE OP CODE 000C 31500020 BCT R2,RDMODS-4 READ NEXT 000C 31570020 BC 15,FIX NEXT PORTION 31640020 EJECT 31710020 *********************************************************************** 31780020 ** ** 31850020 *** I/O ROUTINE TO READ MODULES AND WRITE RECORD ENTRIES *** 31920020 ** ** 31990020 *********************************************************************** 32060020 IORTN LA WORK2,10 TEN RETRIES 32130020 IORTN1 LA WORK1,R0CHAIN START OF CCW CHAIN 32200020 ST WORK1,72 STORE IN CAW 32270020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 32320021 IORTN2 TIO 0(DADCUA) TEST I/O 32340020 BC 6,IORTN2 BR--BUSY OR STATUS STORED 32410020 SIO 0(DADCUA) START I/O 32480020 BC 8,IORTN4 BR--I/O OPERATION INITIATED 32550020 IORTN3 BCT WORK2,IORTN1 BRANCH--TRY AGAIN 32620020 OI FLAGS,IORTYENT RETRY COMPLETE 32690020 BC 15,RECOVER1 BRANCH--SET UP SEREP 32760020 SPACE 1 32830020 IORTN4 TIO 0(DADCUA) TEST I/O 32900020 BC 2,IORTN4 BR--BUSY 32970020 TM 68,X'0D' CHAN END, DEV END, UNIT EXCEPTION 33040020 BC 14,IORTN5 BR--NOT END OF FILE 33110020 CLC DISKSEEK+2(4),R0RDAREA COMPARE R0 AND SEEK ADDRESS 33180020 BC 8,IORTN3 BR--NOT ALTERNATE TRACK 33250020 * 33320020 *** ALTERNATE TRACK - SWITCH SEEK ADDRESS 33390020 * 33460020 ALTRK MVC DISKSEEK+2(4),R0RDAREA SET UP CCHH FROM R0 33530020 BC 15,IORTN1 BRANCH--TRY OPERATION AGAIN 33600020 * 33670020 *** CHECK CSW BITS 33740020 * 33810020 IORTN5 TM 68,2 UNIT CHECK 33880020 BC 1,SENSE BR--CHECK SENSE DATA 33950020 TM 68,4 DEVICE END 34020020 BC 14,IORTN4 BR--NOT DEVICE END 34090020 TM 69,X'FF' CHANNEL FAILURE 34160020 BC 7,IORTN3 BR--RETRY OPERATION 34230020 BCR 15,LINKREG BRANCH--RETURN 34300020 SPACE 1 34370020 * 34440020 *** SENSE DISK TO CHECK FOR 34510020 * 34580020 SENSE LR R0,LINKREG SAVE LINK ADDRESS IN R0 34650020 LA WORK1,SENSECCW SENSE CCW 34720020 ST WORK1,72 STORE IN CAW 34790020 BAL LINKREG,IORTN1+4 GET SENSE DATA 34860020 TM SENAREA,2 ALTERNATE TRACK 34930020 LR LINKREG,R0 RESTORE LINK REG ADDRESS 35000020 BC 1,ALTRK 35070020 TM SENAREA+1,8 NO RECORD FOUND 35140020 BC 14,IORTN3 BR--NO RETRY OPERATION 35210020 * 35280020 * SET UP FOR A TRACK SWITCH TO FIND THE RECORD 35350020 * 35420020 TM FLAGS,BOOTSTRP READING LINKLIB OR LOGREC 35490020 BC 1,IORTN3 BR--WORKING WITH LOGREC TRY AGAIN 35560020 XR R1,R1 CLEAR R1 35630020 XR R4,R4 CLEAR R4 000C 35700020 MVI R0RDAREA+4,1 SET IDENT FIELD TO 1 000C 35770020 IC R1,DEVCODE DEVICE TYPE OF LINKLIB S21021 35840021 SLL R1,2 MULTIPLY BY FOUR 35910020 LA R1,DEVTABLE-1(R1) ADDRESS OF LAST BYTE OF DESIRED ENT. 35980020 LA R2,R0RDAREA+3 ADDRESS OF LAST BYTE OF R0 AREA 36050020 LA R3,4 FOUR BYTES 36120020 TRKUPDAT IC R4,0(R2) GET BYTE 36190020 LA R4,1(R4) ADD ONE TO BYTE 36260020 STC R4,0(R2) REPLACE 36330020 CLC 0(1,R2),0(R1) COMPARE WITH TABLE 36400020 BC 12,ALTRK BR--TRY FOR RECORD ON NEXT TRACK 36470020 MVI 0(R2),0 CLEAR BYTE TO ZERO 36540020 BCT R1,*+4 REDUCE ADDRESSES 36610020 BCT R2,*+4 BY ONE 36680020 BCT R3,TRKUPDAT BRANCH--NEXT BYTE 36750020 BC 15,NOIFBSR BRANCH--CAN'T FIND REMAINING SER0 36820020 EJECT 36890020 *********************************************************************** 36960020 ** ** 37030020 *** CHANNEL COMMANDS AND I/O WORK AREAS *** 37100020 ** ** 37170020 *********************************************************************** 37240020 SENSECOM EQU 4 37310020 SEEK EQU 7 37380020 RDR0 EQU 22 37450020 SEARCH EQU 49 37520020 TIC EQU 8 37590020 WRTDATA EQU 5 S21021 37640021 RDDATA EQU 6 37660020 WRTCKD EQU 29 37800020 BELL EQU 11 37940020 TYPE EQU 9 38010020 SILI EQU 32 38080020 CC EQU 64 38150020 DS 0D 38220020 SENSECCW CCW SENSECOM,SENAREA,SILI,3 SENSE CCW 38290020 SPACE 1 38360020 R0CHAIN CCW SEEK,DISKSEEK,CC,6 SEEK CCW 38430020 CCW RDR0,R0RDAREA,CC+SILI,4 RD PARTIAL R0 CCW 38500020 SPACE 1 38570020 RDMODXX CCW SEARCH,R0RDAREA,CC,5 SEARCH ID EQUAL CCW 38640020 CCW TIC,RDMODXX,0,0 TRANSFER IN CHANNEL CCW 38710020 RDTEXT CCW RDDATA,1024,SILI,1024 READ 400 BYTE MODULE CCW 38780020 SPACE 1 38850020 RDHEADER CCW RDDATA,HDRREC,0,40 READ HEADER CCW S21021 38920021 SPACE 1 38990020 WRTRECCW CCW WRTCKD,CTFLDID,0,328 WRITE RECORD ENTRY CCW S21021 39060021 SPACE 1 39130020 WRITEEOF CCW WRTCKD,EOFRECRD,0,8 WRITE EOF CCW 39200020 SPACE 1 39270020 WRTHEAD CCW WRTDATA,HDRREC,0,40 WRITE HEADER CCW S21021 39340021 SPACE 1 000D 39410020 *** MESSAGE CCW'S 000D 39480020 SPACE 1 39550020 * 1052 CONSOLE 000D 39620020 * PRINTERS/PUNCHES 000D 39690020 TYPEWRIT CCW BELL,0,CC+SILI,1 RING CONSOLE AL ARM 000D 39760020 CCW TYPE,MSGAREA,SILI,44 TYPE MESSAGE S21021 39830021 SPACE 1 000D 39900020 * 2740 CONSOLE 000D 39970020 CCW2740 CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 40040021 DUPLIC CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 40090021 LASTCCW EQU * 40180020 EJECT 40250020 *********************************************************************** 40320020 ** ** 40390020 *** PROGRAM CONSTANTS *** 40460020 ** ** 40530020 *********************************************************************** 40600020 TXTSAVE DC XL4'0' SAVE AREA - INITIAL ADDR A31477 40670020 SPACE 2 40740020 DEVTABLE DC X'00CA0009' * 2311 MAX CCHH VALUES 40810020 DC X'000000C7' * 2301 MAX CCHH VALUES 40880020 DC X'004F0009' * 2303 MAX CCHH VALUES 40950020 DC X'00F9002D' * 2302 MAX CCHH VALUES 41020020 DC X'13090413' * 2321 MAX CCHH VALUES 41090020 DC X'00000000' * DUMMY 41160020 DC X'00000000' * DUMMY 41230020 DC X'00C70013' * 2314 MAX CCHH VALUES A33557 41300020 SPACE 1 41370020 SPACE 2 41440020 EJECT 41510020 *********************************************************************** 41580020 * THE PROGRAM PROGRESS IS FOLLOWED BY THE SETTING OF CERTAIN FLAG * 41650020 * BITS WITHIN A FIELD CALLED FLAGS-- * 41720020 * * 41790020 * BIT 0- ALL MODULES (400 BYTES EACH) HAVE BEEN READ IN * 41860020 * BIT 1- ERROR ENTRY DUE TO TEN TIMES I/O RETRY 41930020 * BIT 2- HEADER RECORD READ AND UPDATED OK 42000020 * BIT 3- ALL I/O OPERATIONS COMPLETED 42070020 * BIT 4- 42140020 * BIT 5- CCW'S ARE ALL UPDATED 42210020 * BIT 6- HEAD SWITCH REQUIRED TO WRITE EOF 42280020 * BIT 7- SECOND MACHINE CHECK HAS OCCURRED 42350020 *********************************************************************** 42420020 FLAGS DC X'00' 42490020 SPACE 2 42560020 SECMCI TM FLAGS,SECONDMC IS THIS THE SECOND ENTRY HERE 42630020 BC 8,RECOVER BR--NO 42700020 LA R0,X'F07' WAIT CODE 42770020 BC 15,SEREP SET UP SEREP INTERFACE 42840020 SPACE 1 42910020 RECOVER OI FLAGS,SECONDMC INDICATE NEXT WILL BE SECOND MCI 42980020 LA R1,RECOVER1 RETURN POINT 43050020 ST R1,PGMPSW+4 43120020 LPSW PGMPSW CONTINUE ENABLED 43190020 RECOVER1 TM FLAGS,CCWUPDAT CCW UPDATED 43260020 BC 8,NOIFBSR BR-- NO 43330020 TM FLAGS,BOOTSTRP ALL MODULES BEEN READ 43400020 BC 8,RDNXTMOD BR--NOT YET TRY AGAIN 43470020 TM FLAGS,IORTYENT ENTRY DUE TO I/O RETRY 43540020 BC 1,IOERROR BR--YES - EXIT TO I/O ERROR 43610020 TM FLAGS,HEADEROK HEADER BEEN READ AND UPDATED OK 43680020 BC 8,SERLA BR--NO GO READ HEADER 43750020 TM FLAGS,IOCMPLTE I/O OPERATION COMPLETE 43820020 BC 1,COMPLETE BR--YES TERMINATE 43890020 BC 15,WRITENT BR--WRITE RECORD ENTRY 43960020 SPACE 1 44030020 NOIFBSR LA R0,X'F0A' IFBSR000 MODULE COULD NOT BE READ 44100020 MVI MSGAREA+5,C'A' PRINTABLE CHARACTER 44170020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 44240020 SPACE 1 44310020 LOGREC LA R0,X'F09' SYS1.LOGREC DATA SET ERROR 44380020 MVI MSGAREA+5,C'9' PRINTABLE CHARACTER 44450020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 44520020 SPACE 1 44590020 IOERROR LA R0,X'F08' I/O ERRORS HAVE OCCURRED 44660020 MVI MSGAREA+5,C'8' PRINTABLE CHARACTER 44730020 EJECT 44800020 *********************************************************************** 44870020 ** ** 44940020 *** ABNORMAL TERMINATION - SEREP INTERFACE *** 45010020 ** ** 45080020 *********************************************************************** 45150020 SEREP TM FLAGS,K80 ALL MODULES READ IN 000D 45220020 BC CC7,SEREP1 BRANCH--- YES 000D 45290020 L RD,RING LOAD ADR OF RING BELL RTN 000D 45360020 BCR CC15,RD BRANCH 000D 45430020 SEREP1 BAL LINKREG,LOCCONS BRANCH TO LOCATE CONSOLE 000D 45500020 BAL LINKREG,PRINT BRANCH TO PRINT MSG 000D 45570020 SPACE 1 45640020 SEREPIF TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 45710020 BC 14,SEREPCPU BR--CPU CHECK 45780020 SEREPCC MVI 115,X'0F' SEREP CODE 45850020 MVC 58(2),INCUA CHANNEL/UNIT ADDRESS 45920020 MVC 64(8),INCSW CHANNEL STATUS WORD 45990020 MVC 136(48),INLOG CHANNEL LOGOUT 46060020 BC 15,EXIT BRANCH--TERMINATE 46130020 SPACE 1 46200020 SEREPCPU MVI 115,0 SEREP CODE 46270020 MVC 48(8),MCIOPSW MACHINE CHECK OLD PSW 46340020 MVC 132(164),CPULOG CPU LOGOUT 46410020 SPACE 1 46480020 * 46550020 *** ENTER WAIT STATE 46620020 * 46690020 EXIT ST R0,PGMPSW+4 STORE TERMINATION CODE 46760020 MVI PGMPSW+1,X'02' SET UP FOR WAIT STATE 46830020 LPSW PGMPSW END 46900020 SPACE 1 46970020 EJECT 47040020 *********************************************************************** 47110020 ** ** 47180020 *** GENERAL PURPOSE REGISTER ROUTINE *** 47250020 ** ** 47320020 *********************************************************************** 47390020 FIX OI FLAGS,BOOTSTRP INDICATE ALL MODULES READ IN 47460020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 47510021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 47520021 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 47530020 BC 1,SERP BR--CHANNEL CHECK 47600020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 47650021 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CPU ERROR S21021 47660021 SPACE 1 47670020 GPTEST LA R3,13 NUMBER OF REGISTERS 47740020 LA R2,GPREGS ADDRESS OF REGS IN RE AREA 47810020 BAL LINKREG,LSREGS BRANCH--COMPACT FULL WORDS 47880020 LA R3,8 NUMBER OF FOLDS 47950020 LA R2,GPRPAR ADDRESS OF FOLD AREA 48020020 BAL LINKREG,LSFOLD BRANCH--COMPACT FOLDS 48090020 MVC GPREGS+52(12),0 SAVE REGS 13-15 IN RE AREA 48160020 BC 15,FPTEST BRANCH--FP TEST 48230020 SPACE 1 48300020 *********************************************************************** 48370020 ** ** 48440020 *** COMPACT ROUTINES FOR REGS AND FOLD AREAS *** 48510020 ** ** 48580020 *********************************************************************** 48650020 LSREGS LA R1,IFBSER00+4 START OF DIAGNOSE AREA 48720020 MVC 0(4,R2),0(R1) MOVE BITS 0-27 WITH PARITY 48790020 LA R2,4(R2) UPDATE OUTPUT ADDRESS 48860020 LA R1,8(R1) UPDATE INPUT ADDRESS 48930020 BCT R3,LSREGS+4 BRANCH--NEXT REG 49000020 BCR 15,LINKREG BRANCH--RETURN 49070020 SPACE 1 49140020 LSFOLD LA R1,IFBSER00+8 START OF DIAGNOSE AREA 49210020 IC R4,3(R1) LOAD BITS 28-31 OF EVEN REG 49280020 SLL R4,4 POSITION FOLD 49350020 IC R4,11(R1) LOAD BITS 28-31 OF ODD REG 49420020 SRL R4,4 POSITION FOLDS 49490020 STC R4,0(R2) STORE FOLD IN RE 49560020 LA R1,16(R1) UPDATE INPUT ADDRESS 49630020 LA R2,1(R2) UPDATE OUTPUT ADDRESS 49700020 BCT R3,LSFOLD+4 BRANCH--NEXT PAIR OF FOLDS 49770020 BCR 15,LINKREG BRANCH--RETURN 49840020 EJECT 49910020 *********************************************************************** 49980020 ** ** 50050020 *** FLOATING POINT REGISTER ROUTINE *** 50120020 ** ** 50190020 *********************************************************************** 50260020 FPTEST MVI IFBSER00+3,X'D0' MODIFY DIAGNOSE INSTRUCTION 50330020 MVI FPSWITCH+1,X'F0' MODIFY SWITCH BRANCH INSTN 50400020 BC 15,IFBSER00 BRANCH--DIAGNOSE FP REGS 50470020 SPACE 1 50540020 FPRETURN LA R3,8 NUMBER OF WORDS TO PACK 50610020 LA R2,FPREGS OUTPUT ADDRESS IN RE FOR REGS 50680020 BAL LINKREG,LSREGS BRANCH--COMPACT FULL WORDS 50750020 LA R3,4 NUMBER OF PAIRS OF FOLDS 50820020 LA R2,FPRPAR OUTPUT ADDRESS IN RE FOR FOLDS 50890020 BAL LINKREG,LSFOLD BRANCH--COMPACT FOLDS 50960020 EJECT 51030020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 51100021 SPACE 1 51170020 SERP MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY 51240020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 51290021 S WORK1,FOUR GET NEG OFFSET S21021 51300021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 51302021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 51304021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 51306021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 51308021 STC WORK1,SYSREL PUT IN RECORD S21021 51308421 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 51310020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 51380020 SPACE 1 51450020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 51520021 SPACE 1 51570021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 51580021 SPACE 1 51590020 XR WORK1,WORK1 CLEAR REGISTER 51660020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 51730020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 51800021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 51870020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 51940020 L WORK3,80 LOAD HARDWARE TIMER 52010020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 52080020 SLR WORK2,WORK3 SUBTRACT TIMER 52150020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 52220020 BC 3,TADJUST BRANCH ON OVERFLOW 52290020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 52360020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 52430020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 52500020 SRL R3,1 CONVERT TO BIN S21021 52570021 M R2,TD10E5 S21021 52620021 D R2,TDCNVR S21021 52630021 LA R1,32 INITIALIZE LOOP S21021 52632021 L R6,TDIV INITIALIZE REG. S21021 52634021 TDVD SR R2,R2 CLEAR REG S21021 52636021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 52638021 LR R4,R2 S21021 52638421 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 52638821 SH R1,*-2 DECREMENT BY 4 S21021 52639221 LTR R3,R3 IS DIVIDEND 0 S21021 52639621 BZ TDENDCNV YES-BRANCH S21021 52639721 C R1,TD24 IS COUNT =24 S21021 52639821 BNL TDVD BRANCH IF NOT S21021 52639921 X R6,TD12 ALT. DIVISION S21021 52663221 B TDVD S21021 52673221 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 52683221 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 52685221 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 52685621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 52686021 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 52686421 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 52686521 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 52686621 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 52694421 MVI TIMAGE,C',' SET COMMA S21021 52696421 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 52698421 SPACE 1 52702221 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 52710020 SPACE 1 52780020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 52850021 BE CSERB YES - BRANCH S21021 52900021 SPACE 2 53270020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 53340020 SPACE 1 53410020 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 53480020 XR WORK2,WORK2 CLEAR REGISTER 53550020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT SYSTEM 24808 53620020 BC CC7,PCPTCB0 BRANCH--YES 24808 53690020 CLR WORK1,TCBREG COMPARE FOR DUMMY TCB 24808 53760020 BE FAILTCB BRANCH IF ILLEGAL S21021 53830021 PCPTCB0 EQU * 24808 53900020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 53970020 BC 8,FAILTCB BR-- ILLEGAL TCB 000C 54040020 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 54110020 BC 7,*+6 BR--RB IS NOT A PRB 54180020 LR WORK2,WORK1 SAVE PRB ADDRESS 54250020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 54320020 BC 1,ENDRBLST BR--END OF RB LIST 54390020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 54460020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 54530020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 54600020 BC 8,FAILTCB YES-BRANCH AROUND S21021 54670021 TM CVTDCB,OPTION1+OPTION2 PCP OR SPS SYSTEM 54740020 BC 7,RBFOUND BR--YES GET PROGRAM ID 54810020 * 54880020 * PROGRAM IDENTITY FOR MS1 54950020 * 55020020 L WORK2,CDPTR(WORK2) POINTER TO CONTENTS DIRECTORY 55090020 LA WORK2,MS1PGMID(WORK2) ADD OFFSET 55160020 * 55230020 * PROGRAM IDENTITY FOR PCP OR SPS 55300020 * 55370020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE 55440020 ***** GET JOBNAME IN PROPER AREA 55510021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 55560021 LA R1,FAILTCBA GET OVERLAY RETURN ADDR S21021 55570021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 55580021 FAILTCBA TM FLAGS,GPTESTCP TEST FOR GP REGS COMP. S21021 55630021 BC 8,SERLA NO-BRANCH AROUND S21021 55640021 TM SW1,OVRLAY TEST FOR OVERLAY S21021 55650021 BO SERLA YES-BRANCH AROUND S21021 55700021 NI SW1,HEXBF SET RE COMPLETE S21021 55710021 BC 15,SERLA 55930020 SPACE 3 55980021 *********************************************************************** 55990021 RECOMP LR WORK4,WORK5 ADD OF RE JOBNAME TO WK4 S21021 55992021 L WORK5,K12(TCBREG) GET ADDR OF TIOT S21021 55994021 BAL R3,OVERLAY CHECK FOR ADDR OVERLAY S21021 55996021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 55998021 BR LINKREG RETURN S21021 55998421 *********************************************************************** 55998821 EJECT 56000020 *********************************************************************** 56070020 * * 56140020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 56210020 * * 56280020 *********************************************************************** 56350020 SPACE 1 56420020 **** PLACE CHANNEL TYPE RECORD ENTRY IN RE 56490020 SPACE 1 56560020 * GET CHANNEL IDENTITY 56630021 CSERB SR WORK1,WORK1 CLEAR REG S21021 56680021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 56690021 SRL WORK3,K9 GET CHAN/2 S21021 56692021 L WORK5,CTA GET ADDR OF CHAN TABLE S21021 56694021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 56696021 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 56698021 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 56698421 TM INCUA,HEX01 TEST FOR ODD CHAN ADDR S21021 56698821 BO ODDADR BRANCH IF ODD S21021 56699221 * EVEN ADDRESS 56699621 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 56699721 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 56699821 * GET CHANNEL ADDRESS FOR MESSAGE 56699921 ODDADR MVC ERRTYPE+K6(M1),INCUA MOVE NUMERIC PORTION S21021 56723221 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 56733221 SPACE 1 56746721 ***** LOCATE UCB AND LAST REQUEST ELEMENT 56770020 SPACE 1 56840020 XC INACTIO(M24),INACTIO CLR ACT I/O AND CCW FLD S21021 56910021 LH WORK2,INCUA CHANNEL/UNIT ADDRESS 56980020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 57050021 STH WORK2,INACTIO STORE CUA S21021 57100021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 57110021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 57120021 LA WORK3,K8 GET COUNT S21021 57170021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 57180021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 57190021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 57240021 BC 4,LKUPEND END OF LOOKUP S21021 57250021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 57260021 ***** GET CUA AND COMPARE 57310021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 57320021 N WORK5,CON7FF CLEAR FLAGS S21021 57330021 ***** TEST FOR FAILING CHANNEL 57380021 STH WORK5,DSRCC STORE CUA TEMP S21021 57390021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 57400021 BNE FINDUCB NO-GO GET NEXT ONE S21021 57450021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 57460021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 57470021 BNE ACTST NO-BRANCH AROUND S21021 57520021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 57530021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 57540021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 57590021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 57600021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 57610021 ***** TEST FOR ACTIVE DEVICE 57660021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 57670021 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 57680021 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 57730021 LA WORK3,K1 SET COUNTER TO 1 S21021 57740021 B FINDUCB GET NEXT UCB ADDR S21021 57750021 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 57800021 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 57810021 B FINDUCB GET NEXT UCB ADDR S21021 57812021 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 57814021 OI SW1,HEX08 SET ILLEGAL CUA FLAG ON S21021 57816021 B FAILCCW BRANCH S21021 57818021 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 57818421 SPACE 1 57820020 ***** TEST FOR ERP IN PROGRESS S21021 57890021 SPACE 1 57960020 TM UCBACT(WORK4),X'20' TEST 12* AVAILABLE 58030020 BZ FAILCCW NO - BRANCH S21021 58100021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 58170020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT 000C 58240020 BC 7,PCPTCB YES, BRANCH 000C 58310020 L TCBREG,12(WORK4) LOAD TCB POINTER FROM 12* 000C 58380020 BC 15,FIRSTCCW BRANCH 000C 58450020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 58520020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 58590020 SR TCBREG,TCBREG CLEAR TCB REG 000D 58660020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 58730020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 58780021 L WORK5,AD0(TCBREG,WORK5) TCB POINTER 000D 58800020 SR TCBREG,TCBREG CLEAR TCBREG 000D 58870020 LA R1,FIRSTCCW OVERLAYED DATA RETURN ADDR 000D 58940020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 000D 59010020 LR TCBREG,WORK5 TCB POINTER 000D 59080020 FIRSTCCW L WORK5,IOBPTR(WORK4) IOB POINTER FROM 12* 59150020 LA R1,FAILCCW OVERLAYED DATA RETURN ADDRESS 59220020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 59290020 TM IOBFLAG1(WORK5),IOBERR ERP IN PROGRESS 23243 59360020 BC CC8,NOERP BRANCH--NO 23243 59430020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 59500021 NOERP EQU * 23243 59570020 SPACE 1 59850020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 59920020 SPACE 1 59990020 FAILCCW L WORK5,INCSW LOAD COMMAND ADDRESS 60060020 LA WORK2,8 DECREMENT CONSTANT 60130020 SR WORK5,WORK2 DECREMENT 60200020 LA R1,IJOBNM GET POINTER S21021 60270021 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 60340020 CL WORK5,CVTMZ00 COMPARE FOR LEGAL ADDRESS 60410020 BC 11,IJOBNM BR-ADDR ILLEGAL S21021 60480021 SPACE 1 60620020 MVC INCCW(M8),AD0(WORK5) MOVE CCW TO RE AREA S21021 60690021 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 60740021 SPACE 1 60760020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 60830021 LA R1,SERLA GET OVERLAY RETURN ADDR S21021 60880021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 60890021 B FAILTCBA BRANCH TO COMPLETE S21021 60900021 EJECT 61110020 ***** SETUP FOR READ OF HEADER RECORD 62720020 SPACE 1 62790020 SERLA L WORK2,CVTDCB ADDRESS OF SER DCB 62860020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 62930020 L WORK1,UCBPTR(WORK6) ADDRESS OF SYS RES UCB 63000020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 63070020 N DADCUA,CON7FF AND OUT HIGH ORDER BITS 63140020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK 63210020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 63280020 MVC RDTEXT(8),RDHEADER READ HEADER CCW 63350020 BAL LINKREG,IORTN BRANCH TO READ HEADER 63420020 SPACE 1 63490020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 63700020 BC 7,LOGREC BR--HEADER INCORRECT 63770020 SPACE 1 63840020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 63910020 SPACE 1 63980020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 64050020 XR WORK4,WORK4 CLEAR REGISTER 64120020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 64190020 SLL WORK4,1 DOUBLE 64260020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 64330020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 64400021 BC 8,SER10 BR--RE TYPE IS INBOARD 64470020 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 64540020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 64610020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 64680020 BC 1,SER13 BR--RE WILL FIT ON TRACK 64750020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 64820020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 64890020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 64960021 BE SER12 YES - BRANCH S21021 65010021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 65240020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 65310020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 65380020 BC 15,SER10 BRANCH FOR ANOTHER PASS 65450020 SER12 XR WORK3,WORK3 CLEAR REGISTER 65520020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 65590020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 65660020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 65730020 BC 15,SER11 BRANCH FOR ANOTHER PASS 65800020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 65870020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 65940020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 66010020 BC 15,LOGREC BRANCH--SET UP FOR SEREP 66080020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 66150020 OI FLAGS,HDSWTCH HEAD SWITCH REQUIRED 66220020 MVC DISKSEEK(7),LASTTTR PLACE SEEK ADDR IN SEEK BUFFER 66290020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 66360020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 66430020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 66500020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 66570020 OI FLAGS,HEADEROK SET HEADER COMPLETE 66640020 SPACE 1 66710020 ***** SETUP FOR RECORD ENTRY WRITE 66780020 SPACE 1 66850020 WRITENT MVC RDTEXT(8),WRTRECCW SET UP CCW CHAIN TO WRITE RE 66920020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 66990020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 67060021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 67130020 LA WORK5,136 RE LGH FOR CCW CNT FLD S21021 67200021 LA WORK3,128 RE LGH FOR DATA CNT FLD S21021 67250021 STH WORK5,RDTEXT+6 SET COUNT IN CCW 67340020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 67410020 MDALLA BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 67480020 SPACE 1 67550020 ***** SETUP FOR END OF FILE (EOF) WRITE 67620020 SPACE 1 67690020 TM FLAGS,HDSWTCH IS HEAD SWITCHING REQUIRED 67760020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 67830020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 67900020 BC 15,EOFWRT 67970020 SWITCH MVI R0RDAREA+4,0 SET ID TO ZERO 68040020 MVC DISKSEEK+2(4),UPLIMIT MOVE SEEK ADDRESS TO SEEK BFR 68110020 EOFWRT MVC EOFRECRD(4),DISKSEEK+2 CCHH TO EOF RECORD 68180020 MVC RDTEXT(8),WRITEEOF SET UP CCW CHAIN FOR WRT EOF 68250020 BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 68320020 SPACE 1 68390020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 68460020 ***** TEST FOR 90 PERCENT FULL 68530021 NOEOF MVC CPULOG(M44),MSGAREA SAVE ERROR MESSAGE S21021 68580021 XC MSGAREA(M44),MSGAREA CLEAR MESSAGE AREA S21021 68590021 MVC MSGAREA(M29),WTO90 GET NEAR FULL MESSAGE S21021 68600021 TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 68650021 BO NOEWTST YES-BRANCH AROUND S21021 68660021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 68662021 BL NOEWTST BRANCH IF LOWER S21021 68664021 BH SETSW BRANCH IF GREATER S21021 68666021 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 68668021 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 68668421 BH NOEWTST BRANCH IF HIGHER S21021 68668821 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 68669221 ***** OUTPUT MESSAGE TO OPERATOR 68669621 MSG90 BAL LINKREG,PRINT GO PRINT MESSAGE S21021 68669721 NOEWTST MVC RDTEXT(M8),WRTHEAD SET UP CCW CHAIN FOR WRT S21021 68669821 MVC MSGAREA(M44),CPULOG RESTORE ERROR MESSAGE S21021 68669921 L WORK2,CVTDCB ADDRESS OF SER DCB 68670020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 68740020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB-SEEK BFR 68810020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 68880020 BAL LINKREG,IORTN BRANCH--REWRITE HEADER 68950020 MDALLB OI FLAGS,IOCMPLTE ALL I/O COMPLETE INDICATOR 69020020 EJECT 69090020 *********************************************************************** 69160020 ** ** 69230020 *** COMPLETION OF SER0 - DETERMINE PROPER MESSAGE *** 69300020 ** ** 69370020 *********************************************************************** 69440020 COMPLETE LA R0,X'F05' WAIT CODE 69510020 MVI MSGAREA+5,C'5' MESSAGE CODE 69580020 MVI MSGAREA+6,C'W' WAIT STATE INDICATION 69650020 MVC IMAGE(M14),IMAGE1 PROPER MESSAGE S21021 69720021 TM FLAGS,SECONDMC WAS THERE A SECOND MC 69790020 BC 8,SEREP BR--NO 69860020 LA R0,X'F06' WAIT CODE-SECOND MC 69930020 MVI MSGAREA+5,C'6' MESSAGE CODE 70000020 BC 15,SEREP BRANCH--END 70070020 EJECT 70140020 *********************************************************************** 70210020 ** ** 70280020 *** CHECK FOR DATA OVERLAYED BY SER0 NON-RESIDENT PORTION *** 70350020 ** ** 70420020 *********************************************************************** 70490020 OVERLAY LA WORK1,PROGEND LAST ADDRESS 70560020 LA WORK5,0(WORK5) CLEAR HIGH ORDER BYTE 70630020 CR WORK5,WORK1 DATA ADDRESS OVERLAYED 70700020 BCR 10,R3 BR--ABOVE SER0-NOT OVERLAYED 70770020 CR WORK5,RF COMPARE WITH BASE 70840020 BCR 4,R3 BR--BELOW SER0-NOT OVERLAYED 70910020 OI SW1,OVRLAY FLAG AS OVERLAYED S21021 70980021 BCR 15,R1 BRANCH--OVERLAYED RETURN 71050020 DS 0F 71120020 EJECT 71190020 ******* 000C 71260020 * 000C 71330020 * CONSTANTS 000C 71400020 *** 000C 71470020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 71540020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 71610020 CON7FF DC X'00000FFF' CUA MASK 000E 71680020 DC X'FF' KEY CONSTANT 000C 71750020 KEYCONST EQU CON7FF+3 000C 71820020 EJECT 71890020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 71960020 SPACE 2 72030020 * DAD SUBTRACTION CONSTANT TABLE 72100020 DS 0H 000C 72170020 CONRE DC AL2(406) * 2311 CPU RE SUB CONST S21021 72240021 DC AL2(461) * 2301 CPU RE SUB CONST S21021 72290021 DC AL2(436) * 2303 CPU RE SUB CONST S21021 72300021 DC AL2(406) * 2302 CPU RE SUB CONST S21021 72310021 DC AL2(429) * 2321 CPU RE SUB CONST S21021 72360021 DC XL2'0' * DUMMY 000C 72590020 DC XL2'0' * DUMMY 000C 72660020 DC XL2'21A' * 2314 CPU RE SUBTR CONST 000C 72730020 DC AL2(444) * 2314 CPU RE SUB CONST S21021 72780021 SPACE 1 72800020 CONIO DC AL2(204) * 2311 INB RE SUB CONST S21021 72870021 DC AL2(269) * 2301 INB RE SUB CONST S21021 72920021 DC AL2(244) * 2303 INB RE SUB CONST S21021 72930021 DC AL2(204) * 2302 INB RE SUB CONST S21021 72940021 DC AL2(227) * 2321 INB RE SUB CONST S21021 72990021 DC XL2'0' * DUMMY 000C 73220020 DC XL2'0' * DUMMY 000C 73290020 DC AL2(243) * 2314 INB RE SUB CONST S21021 73360021 EJECT 000D 73430020 *** CONSTANTS / STORAGE 000D 73500020 DS 0F 000D 73570020 FOUR DC XL4'4' 000D 73640020 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 73710020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 73780020 SPACE 1 000D 73850020 DS 0F 000D 73920020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 73990020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 74060020 IORCC DC X'00' 000D 74130020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 74200020 * BIT 5 MCS ENVIRONMENT 000D 74270020 SPACE 2 000D 74340020 SPACE 2 000D 74410020 ***** ERROR TERMINATION PRINT IMAGE 000D 74480020 SPACE 2 000D 74550020 DS 0F 000D 74620020 MSGAREA DC C'IFBF07S' S21021 74690021 ERRTYPE DC CL14' ' S21021 74740021 IMAGE DC C' EXECUTE SEREP' S21021 74750021 TIMAGE DC CL10' ' S21021 74760021 IMAGE1 DC C' RELOAD OS/360' S21021 74810021 IMAGE5 DC C' CHAN ERROR.' S21021 74820021 IMAGE6 DC C' CPU ERROR.' S21021 74830021 ***** 90 PER CENT FULL MESSAGE 74880021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 74890021 TD10E5 DC F'200000' S21021 74892021 TDCNVR DC X'0249F000' S21021 74894021 TDIV DC F'10' S21021 74896021 TD12 DC F'12' S21021 74898021 TD24 DC F'24' S21021 74898421 TABLE DC C'0123456789ABCDEF' S21021 74898821 SPACE 2 000D 74900020 * EQUAL 5 -RECORDING SUCCESSFUL - NORMAL TERMINATION 000D 74970020 * EQUAL 6 -RECORDING SUCCESSFUL - SECOND MC OCCURRED 000D 75040020 * EQUAL 7 -RECORDING NOT SUCCESSFUL - ADDITIONAL MC OCCURRED000D 75110020 * EQUAL 8 -RECORDING NOT SUCCESSFUL - DUE TO I/O FAILURES 000D 75180020 * EQUAL 9 -RECORDING NOT SUCCESSFUL - SYS1.LOGREC FULL/BAD 000D 75250020 * EQUAL A -RECORDING NOT SUCCESSFUL - COULDN'T READ NON-RES 000D 75320020 EJECT 000D 75390020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 75460020 SPACE 1 000D 75530020 DS 0H 000D 75600020 LOCCONS L RE,DSECTSAV SER0 DSECT AREA 000D 75670020 L CVTREG,CVTMACRO POINTER TO CVT 000D 75740020 L WORK1,CVTCUCB ADDRESS OF CONSOLE UCM 000D 75810020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 75880020 BC CC1,CONCUA BRANCH--BYPASS 000D 75950020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 76020020 BC CC1,MCSROUT BRANCH--YES 000D 76090020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 76160020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 76230020 BC CC1,GETCUAA BRANCH--YES GET CUA 000D 76300020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 76370020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 76440020 GETCUAA EQU * 000D 76510020 BAL WORK5,GETCUA GET CUA 000D 76580020 BC CC15,CONCUA1 BRANCH 000D 76650020 SPACE 1 76720020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 76790020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 76860020 BC CC1,GETCUA1 BRANCH--YES 000D 76930020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 77000020 GETCUA1 EQU * 000D 77070020 BAL WORK5,GETCUA+AD4 GET CUA 000D 77140020 CONCUA1 EQU * 000D 77210020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 77280020 STH MSGCUA,MSTMCS SAVE CUA 000D 77350020 CUAEXIT BCR CC15,LINKREG RETURN TO MAINLINE 000D 77420020 EJECT 000D 77490020 *** GET CUA OF CONSOLE FROM UCB 000D 77560020 SPACE 1 000D 77630020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 77700020 LA WORK1,TYPEWRIT CONSOLE PRINTER P3984 77770020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 77840020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 77910020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 77980020 EJECT 000D 78050020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 78120020 ***** PRINT 90 PER CENT FULL MESSAGE 78170021 SPACE 1 000D 78190020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 78260020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 78310021 ST WORK1,AD72 STORE IN CAW 000D 78330020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 78400021 SIO AD0(MSGCUA) START I/O 000D 78470020 LA WORK1,HEXA0 COUNT S21021 78540021 SLL WORK1,K10 MULTIPLY S21021 78590021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 78600021 BC CC8,TIOLOPA OK-BRANCH S21021 78602021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 78604021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 78606021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 78610020 BCR CC15,LINKREG RETURN 000D 78680020 EJECT 000D 78750020 SPACE 2 000D 78820020 * 000D 78890020 *** PRINT HARDCOPY ROUTINE 000D 78960020 * 000D 79030020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 79100020 LTR WORK1,WORK1 IS IT ZERO 000D 79170020 BCR CC8,LINKREG RETURN 000D 79240020 ST WORK1,AD72 STORE IN CAW 000D 79310020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 79360021 SIO AD0(MSGCUA) START DEVICE S21021 79370021 LA WORK1,HEXA0 COUNT S21021 79380021 SLL WORK1,K10 POSITION 000D 79450020 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 79520020 BC CC8,FREE BRANCH--FREE 000D 79590020 BCT WORK1,PRTHC1 TRY AGAIN 000D 79660020 FREE BR LINKREG RETURN S21021 79730021 EJECT 000D 79940020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 80010020 SPACE 1 000D 80080020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 80150020 S WORK1,FOUR GET ADDRESS UCM BASE 000D 80220020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 80290020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 80360020 BC 8,CUAEXIT YES,INVALID 000D 80430020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 80500020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 80570020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 80640020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 80710020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 80780020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 80850020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 80920020 SPACE 2 000D 80990020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 81060020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 81130020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 81200020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 81270020 LTR WORK2,WORK2 SYSLOG ONLY A31693 81340020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 81410020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 81480020 BAL RD,CHKAVAI CONSOLE AVAILABLE P3984 81550020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 81620020 BC CC1,CUAEXIT BRANCH--NO 000D 81690020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 81760020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 81830020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 81900020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 81970020 L WORK1,HCCCWADR CCW ADDRESS 000D 82040020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 82110020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 82180020 BC CC15,CUAEXIT EXIT 000D 82250020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 82320020 BC CC15,CUAEXIT EXIT 000D 82390020 SPACE 1 000D 82460020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 82530020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 82600020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 82670020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 82740020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 82810020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 82880020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 82950020 BC CC1,UCBADD BRANCH--YES 000D 83020020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 83090020 BC CC1,UCBADD BRANCH--YES 000D 83160020 BC CC15,CHKA BRANCH 000D 83230020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 83300020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 83370020 CHKA EQU * 000D 83440020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 83510020 BCR CC15,RD RETURN P3984 83580020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 83650020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 83720020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 83790020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 83860020 BNE UCBADD1 BRANCH --NO 000E 83930020 L WORK4,K28(WORK4) POINTER TO DCM 000E 84000020 SR PARMREG1,PARMREG1 CLEAR 000E 84070020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 84140020 L WORK1,K20(WORK4) CCW CHAIN POINTER 000E 84210020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 84280020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 84350020 AR PARMREG1,WORK1 CCW ADDRESS 000E 84420020 MVC K1(K3,PARMREG1),MSGBFRAD GET MESSAGE ADDRESS S21257 84490021 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 84560020 B SAVECCW CONTINUE 000E 84630020 UCBADD1 EQU * 000E 84700020 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 000D 84840020 BC CC7,SAVECCW BRANCH--NO 000D 84910020 LA WORK1,CCW2740 ADDRESS OF 2740 CCW 000D 84980020 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADR 000D 85050020 LR WORK1,WORK3 RESTORE WORK1 POINTWER 000D 85120020 BCR CC15,RD RETURN P3984 85190020 MSGBFRAD EQU TYPEWRIT+9 COUNT FIELD S21527 85240021 COUNT EQU TYPEWRIT+14 COUNT FIELD S21527 85250021 EJECT 85260020 * 000D 85330020 ***** R E C O R D E N T R Y B U I L D A R E A 85400020 * 85470020 DS 0F ALIGN S21021 85540021 ORG IFBSER00+3056 S21021 85590021 CTFLDID DC XL5'0' COUNT FIELD 85610020 CTFLDKEY DC X'00' KEY LENGTH S21021 85680021 CTFLDDL DC AL2(320) DATA LENGTH FOR MC RE S21021 85730021 CLASSRC DC X'19' MACHINE CHECK/SER0 S21021 85740021 SYSREL DC X'00' RELEASE NUMBER S21021 85750021 SWS DC XL6'0' SWITCHES S21021 85800021 SW0 EQU SWS S21021 85810021 SW1 EQU SWS+1 S21021 85820021 * SWITCH SETTINGS ON CPU RECORD S21021 85870021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 85880021 * BIT 1 - NS CLOCK S21021 85890021 * BIT 2 - EC MODE S21021 85940021 * BIT 3 - SPARE S21021 85950021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 85960021 * BIT 5 - SPARE S21021 86010021 * BIT 6 - SPARE S21021 86020021 * BIT 7 - SPARE S21021 86030021 * BIT 8 - SHORT RECORD S21021 86080021 * BIT 9 - RECORD INCOMPLETE S21021 86090021 * BIT 10 - SYSTEM TERMINATED S21021 86100021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 86150021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 86160021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 86170021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 86220021 * BIT 15 - SPARE S21021 86230021 REDATE DC XL4'0' DATE S21021 86240021 RETIME DC XL4'0' TIME S21021 86290021 SP1 DC X'0' NOT USED S21021 86300021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 86310021 RECPUID DC X'0050' CPU ID - MOD 50 S21021 86360021 SP2 DC X'0000' SPARE S21021 86370021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 86380021 JOBNAME DC XL8'0' JOBNAME S21021 86430021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 86440021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 86450021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 86500021 GPRPAR DC XL8'0' GP REG PARITY-FOLD AREA S21021 86510021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 86520021 CPULOG DC 41XL4'0' CPU HARDWARE LOG AREA S21021 86570021 SPACE 2 86580021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 86590021 SPACE 2 86640021 * SWITCH SETTINGS FOR CHANNEL RECORD 86650021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 86660021 * BIT 1 - NS CLOCK S21021 86710021 * BIT 2 - EC MODE S21021 86720021 * BIT 3 - SPARE S21021 86730021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 86780021 * BIT 5 - SPARE S21021 86790021 * BIT 6 - SPARE S21021 86800021 * BIT 7 - SPARE S21021 86850021 * BIT 8 - MESSAGE REQUIRED S21021 86860021 * BIT 9 - RECORD INCOMPLETE S21021 86870021 * BIT 10 - SYSTEM TERMINATED S21021 86920021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 86930021 * BIT 12 - ILLEGAL CUA S21021 86940021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 86990021 * BIT 14 - ERP IN PROGRESS S21021 87000021 * BIT 15 - SPARE S21021 87010021 IJOBNAME EQU PROGID JOBNAME S21021 87060021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 87070021 INCCW EQU PROGID+24 FAILING CCW S21021 87080021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 87130021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 87140021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 87150021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 87200021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 87210021 INMP EQU PROGID+52 MP INFO S21021 87220021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 87270021 EJECT 000D 89250020 * 000D 89320020 *** HEADER RECORD FROM SYS1.LOGREC 000C 89390020 * 000C 89460020 HDRREC DS 0F S21021 89530021 DC X'FF000000',9F'0' S21021 89580021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 89590021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 89600021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 89650021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 89660021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 89670021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 89720021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 89730021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 89740021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 89790021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 89800021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 89810021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 89860021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 89870021 SPACE 2 90370020 * 000C 90440020 *** PROGRAM WORK AREAS 000C 90510020 * 000C 90580020 DS 0D 000C 90650020 DSRCC DC 2F'0' WORK AREA S21021 90700021 DISKSEEK DC XL8'0' INPUT SEEK ADDRESS BBCCHHR 000C 90720020 EOFRECRD DC X'00000000FF000000' EOF RECORD AREA 000C 90790020 PGMPSW DC X'0004000000000000' PROGRAM PSW 000C 90860020 ZERO DC XL4'0' ZERO CONSTANT 000C 90930020 DSECTSAV DC XL4'0' SER AREA SAVE ADDRESS 000C 91000020 R2SAVE DC XL4'0' R2 SAVE AREA 000C 91070020 R0RDAREA DC XL5'0' RO READ AREA 000C 91140020 SENAREA DC XL3'0' SENSE AREA 91210020 SPACE 1 91280020 PROGEND EQU * 91350020 SPACE 3 91420020 END 91490020 ./ ADD SSI=01013160,NAME=IFBSR065,SOURCE=0 TITLE 'IFBSER00/IFBSR065 SER0/SYSTEM ENVIRONMENT RECORDING' 00070020 *********************************************************************** 00140020 *STATUS/CHANGE LEVEL: 000 * 00210020 * * 00280020 *FUNCTION/OPERATION: THIS MODULE WILL PRESERVE THE STATUS OF HARDWARE * 00350020 * GIVEN A MACHINE MALFUNCTION BY COLLECTING, FORMATTING, AND WRITING* 00420020 * ONTO THE SYS1.LOGREC DATA SET, ERROR DATA RESULTING FROM THE * 00490020 * FOLLOWING TWO CONDITIONS: * 00560020 * * 00630020 * (1) A MACHINE CHECK INTERRUPT WITHIN THE CPU, CORE STORAGE, OR * 00700020 * CHANNELS; OR * 00770020 * (2) AN I/O ERROR INTERRUPT WITHIN THE CHANNELS OR CONTROL UNITS. * 00840020 * * 00910020 * * 00980020 *ENTRY POINT: THE PROGRAM BEGINS AT THE SYMBOL 'IFCSER00' * 01050020 * * 01120020 *INPUT: CONTENTS OF GPR 13,14,15 ARE SAVED IN LOWER CORE - LOC. 8-19 -* 01190020 * BY THE CALLING MODULE FOR THIS PROGRAM, IFBSR000. * 01260020 * * 01330020 *OUTPUT: ALL TERMINATION MESSAGES ARE TO OPERATOR VIA CONSOLE * 01400020 * * 01470020 *EXTERNAL SUBROUTINES: NONE * 01540020 * * 01610020 *EXITS - NORMAL: THERE ARE TWO CONDITIONS UNDER WHICH NORMAL COMPLET- * 01680020 * ION OF THE PROGRAM WILL OCCUR. (1) IF MACHINE CHECK INTERRUPTS * 01750020 * HAVE NOT OCCURRED DURING THE DATA COLLECTION PHASE OF THIS PROGRAM* 01820020 * THEN THE MESSAGE: * 01890020 * * 01960020 * IFBF05W MACHINE ERROR. RELOAD OS/360 * 02030020 * * 02100020 * WILL BE OUTPUTTED. IF, HOWEVER, (2) A MACHINE CHECK INTERRUPT * 02170020 * OCCURRED WHILE IN THE PROCESS OF COLLECTING DATA ON THE ORIGINAL * 02240020 * ERROR CONDITION, DATA COLLECTION TERMINATES AND AN ATTEMPT IS * 02310020 * MADE TO RECORD THE (PARTIAL) DATA RECORD. IF THE RECORDING IS * 02380020 * SUSCESSFUL, THE MESSAGE: * 02450020 * * 02520020 * IFBF06W MACHINE ERROR. RELOAD OS/360 * 02590020 * * 02660020 * WILL BE OUTPUTTED. IN THE EVENT THAT EITHER EOJ MESSAGE IS * 02730020 * NOT ABLE TO BE OUTPUTTED, THE IOS DISPLAY CODE, X'F05' IS SET UP * 02800020 * AND A BRANCH WILL BE MADE TO THE BELL RINGING ROUTINE WHICH, IN * 02870020 * TURN, WILL PUT THE SYSTEM INTO THE WAIT STATE. * 02940020 * * 03010020 *EXITS-ERRORS: THERE ARE FOUR CONDITIONS UNDER WHICH THE PROGRAM * 03080020 * WILL TAKE THIS EXIT. (1) THE DATA COLLECTED ON THE ORIGINAL ERROR * 03150020 * CONDITION MAY NOT , DUE TO I/O ERRORS, BE ENTERED ONTO THE SYS1.- * 03220020 * LOGREC DATA SET. IN THIS CASE, THE MESSAGE * 03290020 * * 03360020 * IFBF08S MACHINE ERROR. EXECUTE SEREP * 03430020 * * 03500020 * WILL OCCUR. (2) THE SECOND CASE IS WHERE, GIVEN A MCI DURING THE * 03570020 * DATA COLLECTION PHASE, THE ATTEMPT TO OUTPUT (THE PARTIAL RECORD * 03640020 * ENTRY) IS UNSUSCESSFUL DUE TO AN ADDITIONAL MACHINE CK. INT. IN * 03710020 * THIS CASE, THE MESSAGE: * 03780020 * * 03850020 * IFBF07S MACHINE ERROR. EXECUTE SEREP * 03920020 * * 03990020 * IS OUTPUTTED. THE THIRD CASE IS WHERE THE SYS1.LOGREC DATA SET * 04060020 * IS FULL OR THE SAFETY BYTE IN THE HEADER RECORD IS OFF. IN THIS * 04130020 * CASE, THE MESSAGE; * 04200020 * * 04270020 * IFBF09S MACHINE ERROR. EXECUTE SEREP * 04340020 * * 04410020 * A FOURTH CASE OCCURS WHEN THIS PROGRAM CANNOT 'BOOTSTRAP' THE * 04480020 * SECOND 1024 BYTES OF ITSELF INTO CORE FROM THE LINK LIBRARY. IN * 04550020 * THIS CASE, THE MESSAGE, * 04620020 * * 04690020 * IFBF0AS MACHINE ERROR. EXECUTE SEREP * 04760020 * * 04830020 *EXITS-SPECIAL: IN THE EVENT OF AN ABNORMAL TERMINATION, IOS HAS * 04900020 * ESTABLISHED WAIT-STATE CODES X'F05' TO X'F0A' FOR USE BY THIS * 04970020 * PROGRAM. IN THE EVENT THAT A TERMINATION MESSAGE CANNOT BE PRINTED* 05040020 * ON EITHER THE PRIMARY OR ALTERNATE I/O DEVICE, THIS CODE WILL * 05110020 * BE DISPLAYED IN THE 'IC' OF THE CURRENT PSW. * 05180020 * * 05250020 *TABLES/WORK AREAS: A SECTION OF CONSTANTS IS GIVEN WHICH RELATES * 05320020 * TRACK LENGTH REQUIREMENTS FOR ANY TYPE OF RECORDING AND ANY I/O * 05390020 * DEVICE CURRENTLY BEING SUPPORTED AS A SYSTEMS RESIDENCE DEVICE. * 05460020 * * 05530020 *ATTRIBUTES: PROGRAM IS NON-RESUABLE, DOES NOT USE IOS OR OS/360 * 05600020 * FACILITIES, REQUIRES A RELOAD OF OS/360 AND ABORTED TASKS UPON * 05670020 * COMPLETION OF FUNCTIONS, AND, AFTER NORMAL OR ABNORMAL TERMINATION* 05740020 * THIS PROGRAM WILL ENTER THE WAIT STATE. THIS PROGRAM HAS BEEN * 05810020 * DESIGNED FOR THE SSS,SPS, OR MS1 VERSIONS OF OS/360. * 05880020 *********************************************************************** 05950020 EJECT 06020020 * HEADER RECORD AREA * 06070021 * ***************************************************************** 06080021 * * * * HIGH * 06082021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 06084021 * * * (CCHH) * (CC) * 06086021 * ***************************************************************** 06088021 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 06088421 * +8 * (CONT.) * * (BBCCHHR) * 06088821 * * (HH) * * * 06089221 * ***************************************************************** 06089621 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 06089721 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 06089821 * * (CONT.) * TRACK * TRACK * WRITTEN * 06089921 * ***************************************************************** 06113221 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 06123221 * +24 * WRITTEN (CONT.) * PER * WARN. * 06133221 * * * CYLINDER * CNT. * 06135221 * ***************************************************************** 06135621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 06136021 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 06136421 * * CNT. * CODE * * SWT. * (FF) * 06136521 * ***************************************************************** 06136621 EJECT 06144421 * CPU RECORD ENTRY AREA * 06152221 * ***************************************************************** 06160020 * * CLASS * SYS- * * * 06230021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06280021 * * * RLSE. * * * 06290021 * ***************************************************************** 06440020 * * * * 06510020 * +8 * DATE * TIME * 06580020 * * * * 06650020 * ***************************************************************** 06720020 * * * * * * 06790021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 06840021 * * * * * * 06850021 * ***************************************************************** 06860021 * * * 06910021 * +24 * PROGRAM IDENTITY * 06920021 * * * 06930021 * ***************************************************************** 06980021 * * * 06990021 * +32 * JOB IDENTITY * 07000021 * * * 07050021 * ***************************************************************** 07060021 * * * 07070021 * +40 * MACHINE CHECK OLD PSW * 07120021 * * * 07130021 * ***************************************************************** 07140021 * * * 07190021 * +48 * VARIABLE LOGOUT FIELD * 07200021 * * * 07210021 * ***************************************************************** 07260021 * * * 07270021 * * MCH * 07280021 * * DAMAGE ASSESSMENT * 07330021 * * * 07340021 * ***************************************************************** 07350021 EJECT 000C 09870020 SPACE 3 09940020 * INBOARD RECORD ENTRY AREA * 10010020 * ***************************************************************** 10080020 * * CLASS * SYS- * * * 10150021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 10200021 * * * RLSE. * * * 10210021 * ***************************************************************** 10360020 * * * * 10430020 * +8 * DATE * TIME * 10500020 * * * * 10570020 * ***************************************************************** 10640020 * * * * * * 10710021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 10760021 * * * * * * 10770021 * ***************************************************************** 10780021 * * * 10830021 * +24 * JOB IDENTITY * 10840021 * * * 10850021 * ***************************************************************** 10900021 * * * 10910021 * +32 * ACTIVE I/O UNITS * 10920021 * * * 10970021 * ***************************************************************** 10980021 * * * 10990021 * +48 * FAILING CCW * 11040021 * * * 11050021 * ***************************************************************** 11060021 * * * 11110021 * +56 * CSW * 11120021 * * * 11130021 * ***************************************************************** 11180021 * * * * 11190021 * +64 * ECSW * DEVICE TYPE * 11200021 * * * * 11250021 * ***************************************************************** 11260021 * * CHAN. * * * 11270021 * +72 * IDENT * CUA * MP INFO * 11320021 * * * * 11330021 * ***************************************************************** 11340021 * * MACHINE DEPENDENT * 11390021 * +80 * CHANNEL * 11400021 * * LOG * 11410021 * ***************************************************************** 11460021 EJECT 13510020 R0 EQU 0 13580020 R1 EQU 1 13650020 R2 EQU 2 13720020 R3 EQU 3 13790020 R4 EQU 4 13860020 R5 EQU 5 13930020 R6 EQU 6 14000020 R7 EQU 7 14070020 R8 EQU 8 14140020 R9 EQU 9 14210020 RA EQU 10 14280020 RB EQU 11 14350020 RC EQU 12 14420020 RD EQU 13 14490020 RE EQU 14 14560020 RF EQU 15 14630020 SPACE 1 14700020 PARMREG0 EQU 5 PARAMETER REGISTER 14770020 PARMREG1 EQU 1 PARAMETER REGISTER 14840020 WORK1 EQU 2 WORK REGISTER 14910020 WORK2 EQU 3 WORK REGISTER 14980020 WORK3 EQU 4 WORK REGISTER 15050020 WORK4 EQU 5 WORK REGISTER 15120020 WORK5 EQU 6 15190020 WORK6 EQU 7 WORK REGISTER 15260020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 15330020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 15400020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 15470020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 15540020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 15610020 SPACE 1 15680020 ENTRY IFBSER00 15750020 EJECT 15820020 ACTTCB EQU 4 15890020 UCBACT EQU 6 15960020 IOBPTR EQU 4 16030020 STARTADR EQU 16 16100020 UCBCUA EQU 4 16170020 SPACE 1 16240020 SHPC EQU 0 16310020 T4PC EQU 4 16380020 LTPC EQU 8 16450020 SPACE 1 16520020 TOPRBP EQU 0 16590020 UCBTYPE EQU 16 S21021 16640021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000C 16660020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000C 16730020 SPACE 1 16800020 SPACE 1 16870020 BOOTSTRP EQU X'80' BOOTSTRAPING COMPLETE 16940020 IORTYENT EQU X'40' ENTRY DUE TO I/O RETRY 17010020 HEADEROK EQU X'20' HEADER READ AND UPDATED OK 17080020 IOCMPLTE EQU X'10' I/O OPERATION COMPLETE SWITCH 17150020 GPTESTCP EQU X'08' GP REGISTER TEST COMPLETE 17220020 CCWUPDAT EQU X'04' CCW UPDATE COMPLETE 17290020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 17360020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 17430020 HEX0 EQU X'00' S21021 17480021 HEX01 EQU X'01' S21021 17490021 HEX08 EQU X'08' S21021 17492021 HEX0F EQU X'0F' S21021 17494021 HEX65 EQU X'65' CPU MODEL ID S21021 17496021 HEX80 EQU X'80' S21021 17498021 HEXA0 EQU X'A0' S21021 17498421 HEXBF EQU X'BF' S21021 17498821 HEXC0 EQU X'C0' S21014 17499221 SPACE 1 17500020 DCBF0 EQU 44 17570020 DEBF2 EQU 32 17640020 DEBF4 EQU 36 17710020 UCBF3B EQU 19 DEVICE TYPE ENTRY 17780020 UCBF12 EQU 20 17850020 SPACE 1 17920020 OPTION1 EQU 64 17990020 OPTION2 EQU 32 18060020 CDPTR EQU 12 18130020 MS1PGMID EQU 8 18200020 SPACE 1 18270020 SPACE 1 18340020 UCMUCB EQU 12 UCM POINTER TO UCB 18410020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 18480020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 18550021 UCMOF EQU 128 WTO SUPPORT (UCM) 18620020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 18690020 SPACE 1 18760020 DEBPT EQU 8 18830020 UCBPTR EQU 32 18900020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 18970020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 19040020 SPACE 1 19110020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 19180020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 19250020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 19320020 UCMMODE EQU X'44' UCM FLAGS A47227 19390021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 19460020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 19530020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 19600020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 19670020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 19740020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 19810020 UCMHRDT EQU X'40' UCM HARD COPY 000D 19880020 UCMSTS EQU 24 000D 19950020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 20020020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 20090020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 20160020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 20230020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 20300020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 20370020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 20440020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 20510020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 20580020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 20650020 IOBERR EQU X'20' IOB ERP INDICATOR 23243 20720020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 20790021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 20840021 OVRLAY EQU X'04' DATA FOR RE OVERLAYED S21021 20850021 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 20860020 EJECT 20930020 * EQUATES USED FOR CONDITION CODES 21000020 CC1 EQU 1 000D 21070020 CC6 EQU 6 000D 21140020 CC7 EQU 7 000D 21210020 CC8 EQU 8 000D 21280020 CC9 EQU 9 000D 21350020 CC15 EQU 15 000D 21420020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 21490020 AD0 EQU 0 000D 21560020 AD1 EQU 1 000D 21630020 AD2 EQU 2 S21021 21680021 AD3 EQU 3 S21021 21690021 AD4 EQU 4 000D 21700020 AD5 EQU 5 000D 21770020 AD6 EQU 6 000D 21840020 AD8 EQU 8 000D 21910020 AD9 EQU 9 S21021 21960021 AD12 EQU 12 000D 21980020 AD56 EQU 56 000D 22050020 AD72 EQU 72 000D 22120020 AD124 EQU 124 000D 22190020 * EQUATES USED FOR CONSTANTS 22260020 K2 EQU 2 000D 22330020 K4 EQU 4 000D 22400020 K5 EQU 5 000D 22470020 K9 EQU 9 S21021 22520021 K10 EQU 10 000D 22540020 K12 EQU 12 S21021 22590021 K80 EQU X'80' 000D 22610020 KFF EQU X'FF' 000D 22680020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 22750020 M1 EQU 1 S21021 22800021 M2 EQU 2 000D 22820020 M4 EQU 4 S21021 22870021 M6 EQU 6 000D 22890020 M7 EQU 7 S21021 22940021 M8 EQU 8 000E 22960020 M12 EQU 12 000D 23030020 M14 EQU 14 000D 23100020 M24 EQU 24 S21021 23170021 M29 EQU 29 S21021 23220021 M44 EQU 44 S21021 23230021 M56 EQU 56 S21021 23240021 K1 EQU 1 000E 23310020 K3 EQU 3 000E 23380020 K6 EQU 6 000E 23450020 K8 EQU 8 000E 23520020 K20 EQU 20 000E 23590020 K28 EQU 28 000E 23660020 LOC40 EQU 40 S21014 23710021 LOC107 EQU 107 S21014 23720021 CPUSER1 EQU X'19' MCH RECORDING S21021 23722021 INBSER1 EQU X'29' CLASS AND SOURCE RECORD S21021 23724021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 23726021 SPACE 1 23730020 EJECT 23800020 IFBSR065 CSECT 23870020 *0122 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 23940021 *0267 062300-063700,067900-098000,101500-102900,107100-134400, S21021 23990021 * 207900,231700-232400,266000,317800,373800,392700,394100, S21021 24000021 * 404600,406000,408800,538300,542500,545300,553000, S21021 24010021 * 555800-559300,565600,574000,582400-585900,587300,595000, S21021 24060021 * 597800-606200,609700,623700,625100-626500,631400, S21021 24070021 * 633500-634200,637000-639100,640500-655200, S21021 24080021 * 664300-665000,672700,678300-680400,699300,700700-701400, S21021 24130021 * 714000-714700,725900,738500,751800-754600,756700, S21021 24140021 * 758100-760900,763000,775600-777000,813400,873600,876400, S21021 24150021 * 884100,885500-920500,924000-931700 S21021 24200021 USING CVTDSECT,CVTREG 24570020 CVTDSECT DSECT 24640020 EQUATE CVT 24710020 EJECT 24780020 *********************************************************************** 24850020 ** ** 24920020 *** SER0 PASS DSECT - PARAMETERS SUPPLIED FROM NUCLEUS *** 24990020 ** ** 25060020 *********************************************************************** 25130020 USING SERDSECT,RE 25200020 SERDSECT DSECT 25270020 RING DC V(IECIWTST) ADDRESS OF BELL RING ROUTINE 25340020 CTA DC V(IFBACTA) CHANNEL TYPE ASSIGNMENTS 25410020 CVTMACRO DC V(IEACVT) ADDRESS OF CVT 25480020 IFBACUA DS CL2 LINK LIBRARY DEVICE CUA 25550020 DS CL2 25620020 IFBASEEK DS CL5 CCHHR OF 1ST TEXT RECORD-LINKLIB 25690020 IFBSR065 CSECT 25760020 EJECT 25830020 *********************************************************************** 25900020 ** ** 25970020 *** INITIAL ENTRY POINT FROM RESIDENT NUCLEUS MODULE *** 26040020 ** ** 26110020 *********************************************************************** 26180020 USING *,RF 26250020 IFBSER00 L RF,116 SET UP BASE REG 26320020 MVC 16(8),0 STORE REGS 13 AND 14 IN DIFF AREA 26390020 MVC 16(4),16 26460020 MVC 4(4),4 CLEAR PARITY 26530020 XC HDRREC(80),HDRREC CLEAR HEADER REC AREA S21021 26600021 MVI RECPUID+AD1,HEX65 GET CPU MODEL ID S21021 26650021 MVI PGMPSW+1,X'04' SET ENABLE BIT 26670020 MVI EOFRECRD+4,X'FF' SET UP EOF RECORD 26740020 ST RE,DSECTSAV SAVE SER0 PASS PARAMETERS 26810020 MVC INLOG(24),CPULOG+176 REPOSITION CHANNEL LOG 26880020 SER LA RD,SERA RETURN POINT 26950020 ST RD,PGMPSW+4 ENABLE PSW 27020020 MVC 112(8),PGMPSW PLACE IN HARDWARE 27090020 LA RD,SECMCI SECOND MCI HANDLER 27160020 LPSW PGMPSW ENABLE 27230020 SERA ST RD,116 MC NEW PSW 27300020 MVI 113,0 DISABLE MCI'S 27370020 MVC 104(8),112 PROG NEW PSW 27440020 SPACE 1 27510020 * * 27580020 *** DATA ADDRESS FIELD OF CCW'S REQUIRE MODIFICATION *** 27650020 * * 27720020 LA RE,SENSECCW FIRST CCW OF CHAIN 27790020 SERB L RD,0(RE) DATA ADDRESS FIELD OF CCW 27860020 AR RD,RF ADD IN BASE VALUE 27930020 ST RD,0(RE) RESTORE UPDATED ADDRESS 28000020 LA RE,8(RE) NEXT CCW 28070020 LA RD,LASTCCW CHECK FOR END 28140020 CLR RE,RD LAST ONE 28210020 BC 4,SERB BRANCH--NOT THE END 28280020 MVC TXTSAVE(4),RDTEXT SAVE FOR POSSIBLE RETRY A31477 28350020 OI FLAGS,CCWUPDAT INDICATE CCW UPDATED 28420020 SPACE 1 28490020 EJECT 28560020 *********************************************************************** 28630020 *** *** 28700020 ***** GENERAL PURPOSE REGISTER PARITY TEST ***** 28770020 *** *** 28840020 *********************************************************************** 28910020 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 28980020 BC 1,RDNXTMOD BR--CHANNEL CHECK READ NEXT MOD 29050020 GPTEST LA RD,NEXTREG+4 PSW ADDRESS MODIFICATION 29120020 ST RD,PGMPSW+4 STORE IT 29190020 LA RD,MACHCK ENTRANCE POINT ON MACHINE CHECK 29260020 ST RD,116 STORE IT MC NEW PSW 29330020 SPACE 1 29400020 LH RD,EXMODMSK EXECUTE MODIFICATION MASK 29470020 NEXTREG EX RD,EXSTORE ATTEMPT TO EXECUTE THE STORE INSTR. 29540020 SH RD,EXCONST REDUCE EXECUTION MASK BY ONE 29610020 BC 10,NEXTREG BRANCH--TEST NEXT REG 29680020 STM R0,RC,GPREGS STORE REGS INTO RECORD ENTRY 29750020 MVC 112(8),104 RESET MC NEW PSW 29820020 BC 15,RDNXTMOD GO READ NEXT 400 BYTE MODULE 29890020 SPACE 1 29960020 MACHCK EX RD,EXADD CORRECT BAD PARITY IN REG 30030020 SRL RD,4 POSITION EXECUTE MASK 30100020 L RE,FLTBIT PARITY INDICATOR CONSTANT 30170020 SRL RE,0(RD) POSITION PARITY INDICATOR 30240020 O RE,GPRPAR 30310020 ST RE,GPRPAR STORE PARITY INDICATOR 30380020 SLL RD,4 RESTORE EXECUTE MASK 30450020 LPSW PGMPSW ENABLE 30520020 EJECT 30590020 *********************************************************************** 30660020 ** ** 30730020 *** DETERMINE LINK LIBRARY DEVICE TYPE AND READ REMAINING *** 30800020 *** SER 0 - PORTIONS *** 30870020 ** ** 30940020 *********************************************************************** 31010020 RDNXTMOD L RE,DSECTSAV RELOAD DSECT FOR SER0 PARAMETERS 31080020 L CVTREG,CVTMACRO POINTER TO THE CVT 31150020 SPACE 1 31220020 OI FLAGS,GPTESTCP GP TEST COMPLETE INDICATOR 31290020 TM FLAGS,IORTYENT SECOND PASS BECAUSE OF RETRY FAIL 31360020 BC 1,NOIFBSR BR--MODULE NOT LOADED 31430020 SPACE 1 31500020 L R1,CVTLINK DCB OF THE LINKLIB 31570020 L R1,DCBF0(R1) DEB ADDRESS-LINK LIBRARY 31640020 L R1,DEBF2(R1) LINK LIBRARY DEVICE-UCB ADDRESS 31710020 MVC DEVCODE(M1),UCBF3B(R1) GET LINKLIB DEV CODE S21021 31780021 SPACE 1 31850020 LH DADCUA,IFBACUA LINK LIBRARY CUA-FROM SER DSECT 31920020 MVC DISKSEEK+2(5),IFBASEEK CCHHR OF 1ST TEXT RECORD 31990020 MVC R0RDAREA+4(1),IFBASEEK+4 R OF THE FIRST TEXT RECORD 32060020 MVC RDTEXT(4),TXTSAVE INITIAL CCW A31477 32130020 LA R2,2 NUMBER OF PASSES 000C 32200020 LA RD,2 READ TWO RECORDS-1 CTRL $ 1 TEXT 32270020 RDMODS IC R1,R0RDAREA+4 GET R AND UPDATE TO READ 32340020 LA R1,1(R1) CONTROL RECORD 32410020 STC R1,R0RDAREA+4 RESTORE 32480020 ST R2,R2SAVE STORE IN TEMP LOCATION 000C 32550020 BAL LINKREG,IORTN READ CONTROL RECORD 32620020 L R2,R2SAVE RESTORE R2 000C 32690020 BCT RD,RDMODS NEXT 32760020 L R1,RDTEXT READ ADDRESS IN CCW 000C 32830020 LA R1,1024(R1) UPDATE FOR NEXT RECORD 000C 32900020 ST R1,RDTEXT STORE 000C 32970020 MVI RDTEXT,X'06' RESTORE OP CODE 000C 33040020 BCT R2,RDMODS-4 READ NEXT 000C 33110020 BC 15,FIX NEXT PORTION 33180020 EJECT 33250020 *********************************************************************** 33320020 ** ** 33390020 *** I/O ROUTINE TO READ MODULES AND WRITE RECORD ENTRIES *** 33460020 ** ** 33530020 *********************************************************************** 33600020 IORTN LA WORK2,10 TEN RETRIES 33670020 IORTN1 LA WORK1,R0CHAIN START OF CCW CHAIN 33740020 ST WORK1,72 STORE IN CAW 33810020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 33860021 IORTN2 TIO 0(DADCUA) TEST I/O 33880020 BC 6,IORTN2 BR--BUSY OR STATUS STORED 33950020 SIO 0(DADCUA) START I/O 34020020 BC 8,IORTN4 BR--I/O OPERATION INITIATED 34090020 IORTN3 BCT WORK2,IORTN1 BRANCH--TRY AGAIN 34160020 OI FLAGS,IORTYENT RETRY COMPLETE 34230020 BC 15,RECOVER1 BRANCH--SET UP SEREP 34300020 SPACE 1 34370020 IORTN4 TIO 0(DADCUA) TEST I/O 34440020 BC 2,IORTN4 BR--BUSY 34510020 TM 68,X'0D' CHAN END, DEV END, UNIT EXCEPTION 34580020 BC 14,IORTN5 BR--NOT END OF FILE 34650020 CLC DISKSEEK+2(4),R0RDAREA COMPARE R0 AND SEEK ADDRESS 34720020 BC 8,IORTN3 BR--NOT ALTERNATE TRACK 34790020 * 34860020 *** ALTERNATE TRACK - SWITCH SEEK ADDRESS 34930020 * 35000020 ALTRK MVC DISKSEEK+2(4),R0RDAREA SET UP CCHH FROM R0 35070020 BC 15,IORTN1 BRANCH--TRY OPERATION AGAIN 35140020 * 35210020 *** CHECK CSW BITS 35280020 * 35350020 IORTN5 TM 68,2 UNIT CHECK 35420020 BC 1,SENSE BR--CHECK SENSE DATA 35490020 TM 68,4 DEVICE END 35560020 BC 14,IORTN4 BR--NOT DEVICE END 35630020 TM 69,X'FF' CHANNEL FAILURE 35700020 BC 7,IORTN3 BR--RETRY OPERATION 35770020 BCR 15,LINKREG BRANCH--RETURN 35840020 SPACE 1 35910020 * 35980020 *** SENSE DISK TO CHECK FOR 36050020 * 36120020 SENSE LR R0,LINKREG SAVE LINK ADDRESS IN R0 36190020 LA WORK1,SENSECCW SENSE CCW 36260020 ST WORK1,72 STORE IN CAW 36330020 BAL LINKREG,IORTN1+4 GET SENSE DATA 36400020 TM SENAREA,2 ALTERNATE TRACK 36470020 LR LINKREG,R0 RESTORE LINK REG ADDRESS 36540020 BC 1,ALTRK 36610020 TM SENAREA+1,8 NO RECORD FOUND 36680020 BC 14,IORTN3 BR--NO RETRY OPERATION 36750020 * 36820020 * SET UP FOR A TRACK SWITCH TO FIND THE RECORD 36890020 * 36960020 TM FLAGS,BOOTSTRP READING LINKLIB OR LOGREC 37030020 BC 1,IORTN3 BR--WORKING WITH LOGREC TRY AGAIN 37100020 XR R1,R1 CLEAR R1 37170020 XR R4,R4 CLEAR R4 37240020 MVI R0RDAREA+4,1 SET IDENT FIELD TO ONE 37310020 IC R1,DEVCODE DEVICE TYPE OF LINKLIB S21021 37380021 SLL R1,2 MULTIPLY BY FOUR 37450020 LA R1,DEVTABLE-1(R1) ADDRESS OF LAST BYTE OF DESIRED ENT. 37520020 LA R2,R0RDAREA+3 ADDRESS OF LAST BYTE OF R0 AREA 37590020 LA R3,4 FOUR BYTES 37660020 TRKUPDAT IC R4,0(R2) GET BYTE 37730020 LA R4,1(R4) ADD ONE TO BYTE 37800020 STC R4,0(R2) REPLACE 37870020 CLC 0(1,R2),0(R1) COMPARE WITH TABLE 37940020 BC 12,ALTRK BR--TRY FOR RECORD ON NEXT TRACK 38010020 MVI 0(R2),0 CLEAR BYTE TO ZERO 38080020 BCT R1,*+4 REDUCE ADDRESSES 38150020 BCT R2,*+4 BY ONE 38220020 BCT R3,TRKUPDAT BRANCH--NEXT BYTE 38290020 BC 15,NOIFBSR BRANCH--CAN'T FIND REMAINING SER0 38360020 EJECT 38430020 *********************************************************************** 38500020 ** ** 38570020 *** CHANNEL COMMANDS AND I/O WORK AREAS *** 38640020 ** ** 38710020 *********************************************************************** 38780020 SENSECOM EQU 4 38850020 SEEK EQU 7 38920020 RDR0 EQU 22 38990020 SEARCH EQU 49 39060020 TIC EQU 8 39130020 WRTDATA EQU 5 S21021 39180021 RDDATA EQU 6 39200020 WRTCKD EQU 29 39340020 BELL EQU 11 39480020 TYPE EQU 9 39550020 SILI EQU 32 39620020 CC EQU 64 39690020 DS 0D 39760020 SENSECCW CCW SENSECOM,SENAREA,SILI,3 SENSE CCW 39830020 SPACE 1 39900020 R0CHAIN CCW SEEK,DISKSEEK,CC,6 SEEK CCW 39970020 CCW RDR0,R0RDAREA,CC+SILI,4 RD PARTIAL R0 CCW 40040020 SPACE 1 40110020 RDMODXX CCW SEARCH,R0RDAREA,CC,5 SEARCH ID EQUAL CCW 40180020 CCW TIC,RDMODXX,0,0 TRANSFER IN CHANNEL CCW 40250020 RDTEXT CCW RDDATA,1024,SILI,1024 READ 400 BYTE MODULE CCW 40320020 SPACE 1 40390020 RDHEADER CCW RDDATA,HDRREC,0,40 READ HEADER CCW S21021 40460021 SPACE 1 40530020 WRTRECCW CCW WRTCKD,CTFLDID,0,340 WRITE RECORD ENTRY CCW S21021 40600021 SPACE 1 40670020 WRITEEOF CCW WRTCKD,EOFRECRD,0,8 WRITE EOF CCW 40740020 SPACE 1 40810020 WRTHEAD CCW WRTDATA,HDRREC,0,40 WRITE HEADER CCW S21021 40880021 SPACE 1 40950020 *** MESSAGE CCW'S 000D 41020020 SPACE 1 41090020 * 1052 CONSOLE 000D 41160020 * PRINTERS/PUNCHES 000D 41230020 TYPEWRIT CCW BELL,0,CC+SILI,1 RING CONSOLE ALARM 000D 41300020 CCW TYPE,MSGAREA,SILI,44 TYPE MESSAGE S21021 41370021 SPACE 1 000D 41440020 * 2740 CONSOLE 000D 41510020 CCW2740 CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 41580021 DUPLIC CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 41630021 LASTCCW EQU * 41720020 EJECT 41790020 *********************************************************************** 41860020 ** ** 41930020 *** PROGRAM CONSTANTS *** 42000020 ** ** 42070020 *********************************************************************** 42140020 TXTSAVE DC XL4'0' SAVE AREA - INITIAL ADDR A31477 42210020 FLTBIT DC X'80000000' PARITY INDICATOR 42280020 EXSTORE ST R0,128 EXECUTE INSTRUCTION- STORE 42350020 EXADD AL R0,ZERO EXECUTE INSTRUCTION- ADD 42420020 EXCONST DC XL2'10' EXECUTE MASK REDUCING CONST 42490020 EXMODMSK DC XL2'C0' INITIAL MASK REG 12 42560020 SPACE 2 42630020 DEVTABLE DC X'00CA0009' * 2311 MAX CCHH VALUES 42700020 DC X'000000C7' * 2301 MAX CCHH VALUES 42770020 DC X'004F0009' * 2303 MAX CCHH VALUES 42840020 DC X'00F9002D' * 2302 MAX CCHH VALUES 42910020 DC X'13090413' * 2321 MAX CCHH VALUES 42980020 DC X'00000000' * DUMMY 43050020 DC X'00000000' * DUMMY 43120020 DC X'00C70013' * 2314 MAX CCHH VALUES A33557 43190020 SPACE 1 43260020 SPACE 2 43330020 EJECT 43400020 *********************************************************************** 43470020 * THE PROGRAM PROGRESS IS FOLLOWED BY THE SETTING OF CERTAIN FLAG * 43540020 * BITS WITHIN A FIELD CALLED FLAGS-- * 43610020 * * 43680020 * BIT 0- ALL MODULES (400 BYTES EACH) HAVE BEEN READ IN * 43750020 * BIT 1- ERROR ENTRY DUE TO TEN TIMES I/O RETRY 43820020 * BIT 2- HEADER RECORD READ AND UPDATED OK 43890020 * BIT 3- ALL I/O OPERATIONS COMPLETED 43960020 * BIT 4- 44030020 * BIT 5- CCW'S ARE ALL UPDATED 44100020 * BIT 6- HEAD SWITCH REQUIRED TO WRITE EOF 44170020 * BIT 7- SECOND MACHINE CHECK HAS OCCURRED 44240020 *********************************************************************** 44310020 FLAGS DC X'00' 44380020 SPACE 2 44450020 SECMCI TM FLAGS,SECONDMC IS THIS THE SECOND ENTRY HERE 44520020 BC 8,RECOVER BR--NO 44590020 LA R0,X'F07' WAIT CODE 44660020 BC 15,SEREP SET UP SEREP INTERFACE 44730020 SPACE 1 44800020 RECOVER OI FLAGS,SECONDMC INDICATE NEXT WILL BE SECOND MCI 44870020 LA R1,RECOVER1 RETURN POINT 44940020 ST R1,PGMPSW+4 45010020 LPSW PGMPSW CONTINUE ENABLED 45080020 RECOVER1 TM FLAGS,CCWUPDAT CCW UPDATED 45150020 BC 8,NOIFBSR BR-- NO 45220020 TM FLAGS,BOOTSTRP ALL MODULES BEEN READ 45290020 BC 8,RDNXTMOD BR--NOT YET TRY AGAIN 45360020 TM FLAGS,IORTYENT ENTRY DUE TO I/O RETRY 45430020 BC 1,IOERROR BR--YES - EXIT TO I/O ERROR 45500020 TM FLAGS,HEADEROK HEADER BEEN READ AND UPDATED OK 45570020 BC 8,SERLA BR--NO GO READ HEADER 45640020 TM FLAGS,IOCMPLTE I/O OPERATION COMPLETE 45710020 BC 1,COMPLETE BR--YES TERMINATE 45780020 BC 15,WRITENT BR--WRITE RECORD ENTRY 45850020 SPACE 1 45920020 NOIFBSR LA R0,X'F0A' IFBSR000 MODULE COULD NOT BE READ 45990020 MVI MSGAREA+5,C'A' PRINTABLE CHARACTER 46060020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 46130020 SPACE 1 46200020 LOGREC LA R0,X'F09' SYS1.LOGREC DATA SET ERROR 46270020 MVI MSGAREA+5,C'9' PRINTABLE CHARACTER 46340020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 46410020 SPACE 1 46480020 IOERROR LA R0,X'F08' I/O ERRORS HAVE OCCURRED 46550020 MVI MSGAREA+5,C'8' PRINTABLE CHARACTER 46620020 EJECT 46690020 *********************************************************************** 46760020 ** ** 46830020 *** ABNORMAL TERMINATION - SEREP INTERFACE *** 46900020 ** ** 46970020 *********************************************************************** 47040020 SEREP TM FLAGS,K80 ALL MODULES READ IN 000D 47110020 BC CC7,SEREP1 BRANCH--- YES 000D 47180020 L RD,RING LOAD ADR OF RING BELL RTN 000D 47250020 BCR CC15,RD BRANCH 000D 47320020 SEREP1 BAL LINKREG,LOCCONS BRANCH TO LOCATE CONSOLE 000D 47390020 BAL LINKREG,PRINT BRANCH TO PRINT MSG 000D 47460020 SPACE 1 47530020 SEREPIF MVI 115,0 SEREP CODE CPU 47600020 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 47670020 BC 14,*+8 BR--CPU CHECK 47740020 MVI 115,X'0F' SEREP CODE CHANNEL 47810020 MVC 58(2),INCUA CHANNEL/UNIT ADDRESS 47880020 MVC 64(8),INCSW CHANNEL STATUS WORD 47950020 MVC 304(24),INLOG CHANNEL LOGOUT 48020020 MVC 48(8),MCIOPSW MACHINE CHECK OLD PSW 48090020 MVC 128(176),CPULOG CPU LOGOUT 48160020 SPACE 1 48230020 * 48300020 *** ENTER WAIT STATE 48370020 * 48440020 EXIT ST R0,PGMPSW+4 STORE TERMINATION CODE 48510020 MVI PGMPSW+1,X'02' SET UP FOR WAIT STATE 48580020 LPSW PGMPSW END 48650020 EJECT 48720020 *********************************************************************** 48790020 *** *** 48860020 **** GENERAL PURPOSE REGISTERS 13 THRU 15 PARITY TEST **** 48930020 *** *** 49000020 *********************************************************************** 49070020 FIX OI FLAGS,BOOTSTRP INDICATE ALL MODULES READ IN 49140020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 49190021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 49200021 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 49210020 BC 1,SERP BR--CHANNEL CHECK 49280020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 49330021 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CPU ERROR S21021 49340021 OI GPRPAR+1,X'07' INITIALLY SET PARITY IND 49350020 OI 113,X'04' SET MC ENABLED IN PSW 49420020 LA R3,GPR14 RETURN POINT 49490020 ST R3,116 IN PSW 49560020 MVC GPREGS+52(4),0 ATTEMPT TO MOVE REG 13 49630020 NI GPRPAR+1,X'FB' CLEAR PARITY INDICATOR 49700020 GPR14 LA R3,GPR15 RETURN POINT 49770020 ST R3,116 IN PSW 49840020 MVC GPREGS+56(4),20 ATTEMPT TO MOVE REG 14 49910020 NI GPRPAR+1,X'FD' CLEAR PARITY INDICATOR 49980020 GPR15 LA R3,GPRTEST RETURN POINT 50050020 ST R3,116 IN PSW 50120020 MVC GPREGS+60(4),8 ATTEMPT TO MOVE REG 15 50190020 NI GPRPAR+1,X'FE' CLEAR PARITY INDICATOR 50260020 GPRTEST NI 113,X'FB' SET MC DISABLED IN PSW 50330020 LA R3,GPRTEST1 RETURN POINT 50400020 ST R3,116 IN PSW 50470020 LPSW 112 DISABLED FOR MC 50540020 GPRTEST1 MVC GPREGS+52(4),0 PLACE REG 13 IN RE AREA 50610020 MVC GPREGS+56(4),20 PLACE REG 14 IN RE AREA 50680020 MVC GPREGS+60(4),8 PLACE REG 15 IN RE AREA 50750020 LA R3,FPRTEST RETURN POINT 50820020 ST R3,PGMPSW+4 IN PSW 50890020 LA R3,GPREND RETURN POINT 50960020 ST R3,116 FOR PSW 51030020 GPREND LPSW PGMPSW ENABLED 51100020 EJECT 51170020 *********************************************************************** 51240020 ** ** 51310020 **** FLOATING POINT REGISTER PARITY TEST **** 51380020 ** ** 51450020 *********************************************************************** 51520020 FPRTEST MVC 112(8),104 RESTORE MC NEW PSW 51590020 LA R3,RESUME RESUME ADDRESS FOR 51660020 ST R3,PGMPSW+4 PSW 51730020 FPTEST LA R3,FPREGS ADDR OF REGS IN RE AREA 51800020 LA R2,128 FP REG FLOATING INDICATOR 51870020 SLR R6,R6 CLEAR REGISTER 51940020 SLR R5,R5 CLEAR REGISTER--EX MOD MASK 52010020 LA R4,4 COUNTER FOR FOUR FP REGS 52080020 REPEAT LA R1,REGPAR ADDR OF MACHINE CHECK ENTRY PT 52150020 ST R1,116 STORE IN MACHINE CHECK NEW PSW 52220020 EX R5,STDFPR EXECUTE STORE DOUBLE INSTR 52290020 SRLIND SRL R2,1 POSITION FLOATING INDICATOR 52360020 LA R5,32(R5) UPDATE EXECUTE INSTRUCTION MASK 52430020 LA R3,8(R3) NEXT FP REG SAVE AREA 52500020 LA R1,STPSW RESUME ADDRESS FOR MACHINE CHK 52570020 STPSW ST R1,116 STORE IN NEW MC PSW 52640020 LPSW PGMPSW ENABLE 52710020 RESUME BCT R4,REPEAT REPEAT FOR NEXT FP REG 52780020 STC R6,FPRPAR STORE PARITY INDICATORS IN RE 52850020 MVC 112(8),104 RESTORE MC NEW PSW 52920020 BC 15,SERP BRANCH TO NEXT FUNCTION 52990020 SPACE 2 53060020 REGPAR OR R6,R2 SET REG PARITY INDICATOR 53130020 EX R5,STDFPR EXECUTE STORE FP REG INSTRUCTIO 53200020 MVC 0(4,R3),0(R3) CORRECT BAD PARITY IN STORAGE 53270020 MVC 4(4,R3),4(R3) CORRECT BAD PARITY IN STORAGE 53340020 EX R5,LDFPR CORRECT BAD PARITY IN REGISTER 53410020 BC 15,SRLIND BR TO SETUP FOR NEXT REG 53480020 SPACE 2 53550020 STDFPR STD 0,0(R3) STORE FP REGISTER 53620020 LDFPR LD 0,0(R3) LOAD FP REGISTER 53690020 EJECT 53760020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 53830021 SPACE 1 53900020 SERP MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY 53970020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 54020021 S WORK1,FOUR GET NEG OFFSET S21021 54030021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 54032021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 54034021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 54036021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 54038021 STC WORK1,SYSREL PUT IN RECORD S21021 54038421 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 54040020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 54110020 SPACE 1 54180020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 54250021 SPACE 1 54300021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 54310021 SPACE 1 54320020 XR WORK1,WORK1 CLEAR REGISTER 54390020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 54460020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 54530021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 54600020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 54670020 L WORK3,80 LOAD HARDWARE TIMER 54740020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 54810020 SLR WORK2,WORK3 SUBTRACT TIMER 54880020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 54950020 BC 3,TADJUST BRANCH ON OVERFLOW 55020020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 55090020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 55160020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 55230020 SRL R3,1 CONVERT TO BIN S21021 55300021 M R2,TD10E5 S21021 55350021 D R2,TDCNVR S21021 55360021 LA R1,32 INITIALIZE LOOP S21021 55362021 L R6,TDIV INITIALIZE REG. S21021 55364021 TDVD SR R2,R2 CLEAR REG S21021 55366021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 55368021 LR R4,R2 S21021 55368421 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 55368821 SH R1,*-2 DECREMENT BY 4 S21021 55369221 LTR R3,R3 IS DIVIDEND 0 S21021 55369621 BZ TDENDCNV YES-BRANCH S21021 55369721 C R1,TD24 IS COUNT =24 S21021 55369821 BNL TDVD BRANCH IF NOT S21021 55369921 X R6,TD12 ALT. DIVISION S21021 55393221 B TDVD S21021 55403221 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 55413221 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 55415221 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 55415621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 55416021 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 55416421 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 55416521 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 55416621 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 55424421 MVI TIMAGE,C',' SET COMMA S21021 55426421 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 55428421 SPACE 1 55432221 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 55440020 SPACE 1 55510020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 55580021 BE CSERB YES - BRANCH S21021 55630021 SPACE 2 56000020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 56070020 SPACE 1 56140020 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 56210020 XR WORK2,WORK2 CLEAR REGISTER 56280020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT SYSTEM 24808 56350020 BC CC7,PCPTCB0 BRANCH--YES 24808 56420020 CLR WORK1,TCBREG COMPARE FOR DUMMY TCB 24808 56490020 BE FAILTCB BRANCH IF ILLEGAL S21021 56560021 PCPTCB0 EQU * 24808 56630020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 56700020 BC 8,FAILTCB BR-- ILLEGAL TCB 000C 56770020 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 56840020 BC 7,*+6 BR--RB IS NOT A PRB 56910020 LR WORK2,WORK1 SAVE PRB ADDRESS 56980020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 57050020 BC 1,ENDRBLST BR--END OF RB LIST 57120020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 57190020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 57260020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 57330020 BC 8,FAILTCB YES-BRANCH AROUND S21021 57400021 TM CVTDCB,OPTION1+OPTION2 PCP OR SPS SYSTEM 57470020 BC 7,RBFOUND BR--YES GET PROGRAM ID 57540020 * 57610020 * PROGRAM IDENTITY FOR MS1 57680020 * 57750020 L WORK2,CDPTR(WORK2) POINTER TO CONTENTS DIRECTORY 57820020 LA WORK2,MS1PGMID(WORK2) ADD OFFSET 57890020 * 57960020 * PROGRAM IDENTITY FOR PCP OR SPS 58030020 * 58100020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE 58170020 ***** GET JOBNAME IN PROPER AREA 58240021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 58290021 LA R1,FAILTCBA GET OVERLAY RETURN ADDR S21021 58300021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 58310021 FAILTCBA TM FLAGS,GPTESTCP TEST FOR GP REGS COMP. S21021 58360021 BC 8,SERLA BR--NO - GO READ HEADER 58660020 TM SW1,OVRLAY TEST FOR OVERLAY S21021 58730021 BO SERLA YES-BRANCH AROUND S21021 58780021 NI SW1,HEXBF SET RE COMPLETE S21021 58790021 BC 15,SERLA 58800020 SPACE 3 58850021 *********************************************************************** 58860021 RECOMP LR WORK4,WORK5 ADD OF RE JOBNAME TO WK4 S21021 58862021 L WORK5,K12(TCBREG) GET ADDR OF TIOT S21021 58864021 BAL R3,OVERLAY CHECK FOR ADDR OVERLAY S21021 58866021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 58868021 BR LINKREG RETURN S21021 58868421 *********************************************************************** 58868821 EJECT 58870020 *********************************************************************** 58940020 * * 59010020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 59080020 * * 59150020 *********************************************************************** 59220020 SPACE 1 59290020 **** PLACE CHANNEL TYPE RECORD ENTRY IN RE 59360020 SPACE 1 59430020 * GET CHANNEL IDENTITY 59500021 CSERB SR WORK1,WORK1 CLEAR REG S21021 59550021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 59560021 SRL WORK3,K9 GET CHAN/2 S21021 59562021 L WORK5,CTA GET ADDR OF CHAN TABLE S21021 59564021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 59566021 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 59568021 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 59568421 TM INCUA,HEX01 TEST FOR ODD CHAN ADDR S21021 59568821 BO ODDADR BRANCH IF ODD S21021 59569221 * EVEN ADDRESS 59569621 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 59569721 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 59569821 * GET CHANNEL ADDRESS FOR MESSAGE 59569921 ODDADR MVC ERRTYPE+K6(M1),INCUA MOVE NUMERIC PORTION S21021 59593221 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 59603221 SPACE 1 59616721 ***** LOCATE UCB AND LAST REQUEST ELEMENT 59640020 SPACE 1 59710020 XC INACTIO(M24),INACTIO CLR ACT I/O AND CCW FLD S21021 59780021 LH WORK2,INCUA CHANNEL/UNIT ADDRESS 59850020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 59920021 STH WORK2,INACTIO STORE CUA S21021 59970021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 59980021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 59990021 LA WORK3,K8 GET COUNT S21021 60040021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 60050021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 60060021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 60110021 BC 4,LKUPEND END OF LOOKUP S21021 60120021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 60130021 ***** GET CUA AND COMPARE 60180021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 60190021 N WORK5,CON7FF CLEAR FLAGS S21021 60200021 ***** TEST FOR FAILING CHANNEL 60250021 STH WORK5,DSRCC STORE CUA TEMP S21021 60260021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 60270021 BNE FINDUCB NO-GO GET NEXT ONE S21021 60320021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 60330021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 60340021 BNE ACTST NO-BRANCH AROUND S21021 60390021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 60400021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 60410021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 60460021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 60470021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 60480021 ***** TEST FOR ACTIVE DEVICE 60530021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 60540021 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 60550021 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 60600021 LA WORK3,K1 SET COUNTER TO 1 S21021 60610021 B FINDUCB GET NEXT UCB ADDR S21021 60620021 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 60670021 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 60680021 B FINDUCB GET NEXT UCB ADDR S21021 60682021 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 60684021 OI SW1,HEX08 SET ILLEGAL CUA FLAG ON S21021 60686021 B FAILCCW BRANCH S21021 60688021 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 60688421 SPACE 1 60690020 ***** TEST FOR ERP IN PROGRESS S21021 60760021 SPACE 1 60830020 TM UCBACT(WORK4),X'20' TEST 12* AVAILABLE 60900020 BZ FAILCCW NO - BRANCH S21021 60970021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 61040020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT 000C 61110020 BC 7,PCPTCB YES, BRANCH 000C 61180020 L TCBREG,12(WORK4) LOAD TCB POINTER FROM 12* 000C 61250020 BC 15,FIRSTCCW BRANCH 000C 61320020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 61390020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 61460020 SR TCBREG,TCBREG CLEAR TCB REG 000D 61530020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 61600020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 61650021 L WORK5,AD0(TCBREG,WORK5) TCB POINTER 000D 61670020 SR TCBREG,TCBREG CLEAR TCBREG 000D 61740020 LA R1,FIRSTCCW OVERLAYED DATA RETURN ADDR 000D 61810020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 000D 61880020 LR TCBREG,WORK5 TCB POINTER 000D 61950020 FIRSTCCW L WORK5,IOBPTR(WORK4) IOB POINTER FROM 12* 62020020 LA R1,FAILCCW OVERLAYED DATA RETURN ADDRESS 62090020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 62160020 TM IOBFLAG1(WORK5),IOBERR ERP IN PROGRESS 23243 62230020 BC CC8,NOERP BRANCH--NO 23243 62300020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 62370021 NOERP EQU * 23243 62440020 SPACE 1 62720020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 62790020 SPACE 1 62860020 FAILCCW L WORK5,INCSW LOAD COMMAND ADDRESS 62930020 LA WORK2,8 DECREMENT CONSTANT 63000020 SR WORK5,WORK2 DECREMENT 63070020 LA R1,IJOBNM GET POINTER S21021 63140021 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 63210020 CL WORK5,CVTMZ00 COMPARE FOR LEGAL ADDRESS 63280020 BC 11,IJOBNM BR-ADDR ILLEGAL S21021 63350021 SPACE 1 63490020 MVC INCCW(M8),AD0(WORK5) MOVE CCW TO RE AREA S21021 63560021 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 63610021 SPACE 1 63630020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 63700021 LA R1,SERLA GET OVERLAY RETURN ADDR S21021 63750021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 63760021 B FAILTCBA BRANCH TO COMPLETE S21021 63770021 EJECT 63980020 ***** SETUP FOR READ OF HEADER RECORD 65590020 SPACE 1 65660020 SERLA L WORK2,CVTDCB ADDRESS OF SER DCB 65730020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 65800020 L WORK1,UCBPTR(WORK6) ADDRESS OF SYS RES UCB 65870020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 65940020 N DADCUA,CON7FF AND OUT HIGH ORDER BITS 66010020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK 66080020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 66150020 MVC RDTEXT(8),RDHEADER READ HEADER CCW 66220020 BAL LINKREG,IORTN BRANCH TO READ HEADER 66290020 SPACE 1 66360020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 66570020 BC 7,LOGREC BR--HEADER INCORRECT 66640020 SPACE 1 66710020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 66780020 SPACE 1 66850020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 66920020 XR WORK4,WORK4 CLEAR REGISTER 66990020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 67060020 SLL WORK4,1 DOUBLE 67130020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 67200020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 67270021 BC 8,SER10 BR--RE TYPE IS INBOARD 67340020 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 67410020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 67480020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 67550020 BC 1,SER13 BR--RE WILL FIT ON TRACK 67620020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 67690020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 67760020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 67830021 BE SER12 YES - BRANCH S21021 67880021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 68110020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 68180020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 68250020 BC 15,SER10 BRANCH FOR ANOTHER PASS 68320020 SER12 XR WORK3,WORK3 CLEAR REGISTER 68390020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 68460020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 68530020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 68600020 BC 15,SER11 BRANCH FOR ANOTHER PASS 68670020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 68740020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 68810020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 68880020 BC 15,LOGREC BRANCH--SET UP FOR SEREP 68950020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 69020020 OI FLAGS,HDSWTCH HEAD SWITCH REQUIRED 69090020 MVC DISKSEEK(7),LASTTTR PLACE SEEK ADDR IN SEEK BUFFER 69160020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 69230020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 69300020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 69370020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 69440020 OI FLAGS,HEADEROK SET HEADER COMPLETE 69510020 SPACE 1 69580020 ***** SETUP FOR RECORD ENTRY WRITE 69650020 SPACE 1 69720020 WRITENT MVC RDTEXT(8),WRTRECCW SET UP CCW CHAIN TO WRITE RE 69790020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 69860020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 69930021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 70000020 LA WORK5,112 RE LGH FOR CCW CNT FLD S21021 70070021 LA WORK3,104 RE LGH FOR DATA CNT FLD S21021 70120021 STH WORK5,RDTEXT+6 SET COUNT IN CCW 70210020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 70280020 MDALLA BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 70350020 SPACE 1 70420020 ***** SETUP FOR END OF FILE (EOF) WRITE 70490020 SPACE 1 70560020 TM FLAGS,HDSWTCH IS HEAD SWITCHING REQUIRED 70630020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 70700020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 70770020 BC 15,EOFWRT 70840020 SWITCH MVI R0RDAREA+4,0 SET ID TO ZERO 70910020 MVC DISKSEEK+2(4),UPLIMIT MOVE SEEK ADDRESS TO SEEK BFR 70980020 EOFWRT MVC EOFRECRD(4),DISKSEEK+2 CCHH TO EOF RECORD 71050020 MVC RDTEXT(8),WRITEEOF SET UP CCW CHAIN FOR WRT EOF 71120020 BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 71190020 SPACE 1 71260020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 71330020 ***** TEST FOR 90 PERCENT FULL 71400021 NOEOF MVC CPULOG(M44),MSGAREA SAVE ERROR MESSAGE S21021 71450021 XC MSGAREA(M44),MSGAREA CLEAR MESSAGE AREA S21021 71460021 MVC MSGAREA(M29),WTO90 GET NEAR FULL MESSAGE S21021 71470021 TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 71520021 BO NOEWTST YES-BRANCH AROUND S21021 71530021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 71532021 BL NOEWTST BRANCH IF LOWER S21021 71534021 BH SETSW BRANCH IF GREATER S21021 71536021 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 71538021 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 71538421 BH NOEWTST BRANCH IF HIGHER S21021 71538821 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 71539221 ***** OUTPUT MESSAGE TO OPERATOR 71539621 MSG90 BAL LINKREG,PRINT GO PRINT MESSAGE S21021 71539721 NOEWTST MVC RDTEXT(M8),WRTHEAD SET UP CCW CHAIN FOR WRT S21021 71539821 MVC MSGAREA(M44),CPULOG RESTORE ERROR MESSAGE S21021 71539921 L WORK2,CVTDCB ADDRESS OF SER DCB 71540020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 71610020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB-SEEK BFR 71680020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 71750020 BAL LINKREG,IORTN BRANCH--REWRITE HEADER 71820020 MDALLB OI FLAGS,IOCMPLTE ALL I/O COMPLETE INDICATOR 71890020 EJECT 71960020 *********************************************************************** 72030020 ** ** 72100020 *** COMPLETION OF SER0 - DETERMINE PROPER MESSAGE *** 72170020 ** ** 72240020 *********************************************************************** 72310020 COMPLETE LA R0,X'F05' WAIT CODE 72380020 MVI MSGAREA+5,C'5' MESSAGE CODE 72450020 MVI MSGAREA+6,C'W' WAIT STATE INDICATION 72520020 MVC IMAGE(M14),IMAGE1 PROPER MESSAGE S21021 72590021 TM FLAGS,SECONDMC WAS THERE A SECOND MC 72660020 BC 8,SEREP BR--NO 72730020 LA R0,X'F06' WAIT CODE-SECOND MC 72800020 MVI MSGAREA+5,C'6' MESSAGE CODE 72870020 BC 15,SEREP BRANCH--END 72940020 EJECT 73010020 *********************************************************************** 73080020 ** ** 73150020 *** CHECK FOR DATA OVERLAYED BY SER0 NON-RESIDENT PORTION *** 73220020 ** ** 73290020 *********************************************************************** 73360020 OVERLAY LA WORK1,PROGEND LAST ADDRESS 73430020 LA WORK5,0(WORK5) CLEAR HIGH ORDER BYTE 73500020 CR WORK5,WORK1 DATA ADDRESS OVERLAYED 73570020 BCR 10,R3 BR--ABOVE SER0-NOT OVERLAYED 73640020 CR WORK5,RF COMPARE WITH BASE 73710020 BCR 4,R3 BR--BELOW SER0-NOT OVERLAYED 73780020 OI SW1,OVRLAY FLAG AS OVERLAYED S21021 73850021 BCR 15,R1 BRANCH--OVERLAYED RETURN 73920020 DS 0F 000C 73990020 EJECT 74060020 ******* 000C 74130020 ** 000C 74200020 * CONSTANTS 000C 74270020 *** 000C 74340020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 74410020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 74480020 CON7FF DC X'00000FFF' CUA MASK 000E 74550020 DC X'FF' KEY CONSTANT 000C 74620020 KEYCONST EQU CON7FF+3 000C 74690020 * 000C 74760020 EJECT 74830020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 74900020 SPACE 2 74970020 * DAD SUBTRACTION CONSTANT TABLE 75040020 DS 0H 000C 75110020 CONRE DC AL2(418) * 2311 CPU RE SUB CONST S21021 75180021 DC AL2(473) * 2301 CPU RE SUB CONST S21021 75230021 DC AL2(448) * 2303 CPU RE SUB CONST S21021 75240021 DC AL2(418) * 2302 CPU RE SUB CONST S21021 75250021 DC AL2(441) * 2321 CPU RE SUB CONST S21021 75300021 DC XL2'0' * DUMMY 000C 75530020 DC XL2'0' * DUMMY 000C 75600020 DC AL2(456) * 2314 CPU RE SUB CONST S21021 75670021 SPACE 1 75740020 CONIO DC AL2(179) * 2311 INB RE SUB CONST S21021 75810021 DC AL2(245) * 2301 INB RE SUB CONST S21021 75860021 DC AL2(220) * 2303 INB RE SUB CONST S21021 75870021 DC AL2(179) * 2302 INB RE SUB CONST S21021 75880021 DC AL2(202) * 2321 INB RE SUB CONST S21021 75930021 DC XL2'0' * DUMMY 000C 76160020 DC XL2'0' * DUMMY 000C 76230020 DC AL2(218) * 2314 INB RE SUB CONST S21021 76300021 EJECT 000D 76370020 *** CONSTANTS / STORAGE 000D 76440020 DS 0F 000D 76510020 FOUR DC XL4'4' 000D 76580020 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 76650020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 76720020 DS 0F 000D 76790020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 76860020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 76930020 IORCC DC X'00' 000D 77000020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 77070020 * BIT 5 MCS ENVIRONMENT 000D 77140020 SPACE 2 000D 77210020 SPACE 2 000D 77280020 ***** ERROR TERMINATION PRINT IMAGE 000D 77350020 SPACE 2 000D 77420020 DS 0F 000D 77490020 MSGAREA DC C'IFBF07S' S21021 77560021 ERRTYPE DC CL14' ' S21021 77610021 IMAGE DC C' EXECUTE SEREP' S21021 77620021 TIMAGE DC CL10' ' S21021 77630021 IMAGE1 DC C' RELOAD OS/360' S21021 77680021 IMAGE5 DC C' CHAN ERROR.' S21021 77690021 IMAGE6 DC C' CPU ERROR.' S21021 77700021 ***** 90 PER CENT FULL MESSAGE 77750021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 77760021 TD10E5 DC F'200000' S21021 77762021 TDCNVR DC X'0249F000' S21021 77764021 TDIV DC F'10' S21021 77766021 TD12 DC F'12' S21021 77768021 TD24 DC F'24' S21021 77768421 TABLE DC C'0123456789ABCDEF' S21021 77768821 SPACE 2 000D 77770020 ***** ERROR MESSAGE CODE BYTE SIX 000D 77840020 * EQUAL 5 -RECORDING SUCCESSFUL - NORMAL TERMINATION 000D 77910020 * EQUAL 6 -RECORDING SUCCESSFUL - SECOND MC OCCURRED 000D 77980020 * EQUAL 7 -RECORDING NOT SUCCESSFUL - ADDITIONAL MC OCCURRED000D 78050020 * EQUAL 8 -RECORDING NOT SUCCESSFUL - DUE TO I/O FAILURES 000D 78120020 * EQUAL 9 -RECORDING NOT SUCCESSFUL - SYS1.LOGREC FULL/BAD 000D 78190020 * EQUAL A -RECORDING NOT SUCCESSFUL - COULDN'T READ NON-RES 000D 78260020 EJECT 000D 78330020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 78400020 SPACE 1 000D 78470020 DS 0H 000D 78540020 LOCCONS L RE,DSECTSAV SER0 DSECT AREA 000D 78610020 L CVTREG,CVTMACRO POINTER TO CVT 000D 78680020 L WORK1,CVTCUCB ADDRESS OF CONSOLE UCM 000D 78750020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 78820020 BC CC1,CONCUA BRANCH--BYPASS 000D 78890020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 78960020 BC CC1,MCSROUT BRANCH--YES 000D 79030020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 79100020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 79170020 BC CC1,GETCUAA BRANCH--YES GET CUA 000D 79240020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 79310020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 79380020 GETCUAA EQU * 000D 79450020 BAL WORK5,GETCUA GET CUA 000D 79520020 BC CC15,CONCUA1 BRANCH 000D 79590020 SPACE 1 000D 79660020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 79730020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 79800020 BC CC1,GETCUA1 BRANCH--YES 000D 79870020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 79940020 GETCUA1 EQU * 000D 80010020 BAL WORK5,GETCUA+AD4 GET CUA 000D 80080020 CONCUA1 EQU * 000D 80150020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 80220020 STH MSGCUA,MSTMCS SAVE CUA 000D 80290020 CUAEXIT BCR CC15,LINKREG RETURN TO MAINLINE 000D 80360020 EJECT 000D 80430020 *** GET CUA OF CONSOLE FROM UCB 000D 80500020 SPACE 1 000D 80570020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 80640020 LA WORK1,TYPEWRIT CONSOLE PRINTER 000D 80710020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 80780020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 80850020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 80920020 EJECT 000D 80990020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 81060020 ***** PRINT 90 PER CENT FULL MESSAGE 81110021 SPACE 1 000D 81130020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 81200020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 81250021 ST WORK1,AD72 STORE IN CAW 000D 81270020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 81340021 SIO AD0(MSGCUA) START I/O 000D 81410020 LA WORK1,HEXA0 COUNT S21021 81480021 SLL WORK1,K12 POSITION S21021 81530021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 81540021 BC CC8,TIOLOPA OK-BRANCH S21021 81542021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 81544021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 81546021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 81550020 BCR CC15,LINKREG RETURN 000D 81620020 EJECT 000D 81690020 * 000D 81760020 *** PRINT HARDCOPY ROUTINE 000D 81830020 * 000D 81900020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 81970020 LTR WORK1,WORK1 IS IT ZERO 000D 82040020 BCR CC8,LINKREG RETURN 000D 82110020 ST WORK1,AD72 STORE IN CAW 000D 82180020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 82230021 SIO AD0(MSGCUA) START DEVICE S21021 82240021 LA WORK1,HEXA0 COUNT S21021 82250021 SLL WORK1,K12 POSITION S21021 82300021 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 82390020 BC CC8,FREE BRANCH--FREE 000D 82460020 BCT WORK1,PRTHC1 TRY AGAIN 000D 82530020 FREE BR LINKREG RETURN S21021 82600021 EJECT 000D 82810020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 82880020 SPACE 1 000D 82950020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 83020020 S WORK1,FOUR GET ADDRESS UCM BASE 000D 83090020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 83160020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 83230020 BC CC8,CUAEXIT YES, INVALID 000D 83300020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 83370020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 83440020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 83510020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 83580020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 83650020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 83720020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 83790020 SPACE 2 000D 83860020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 83930020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 84000020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 84070020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 84140020 LTR WORK2,WORK2 SYSLOG ONLY A31693 84210020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 84280020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 84350020 BAL RD,CHKAVAI CONSOLE AVAILABLE P3984 84420020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 84490020 BC CC1,CUAEXIT BRANCH--NO 000D 84560020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 84630020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 84700020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 84770020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 84840020 L WORK1,HCCCWADR CCW ADDRESS 000D 84910020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 84980020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 85050020 BC CC15,CUAEXIT EXIT 000D 85120020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 85190020 BC CC15,CUAEXIT EXIT 000D 85260020 SPACE 1 000D 85330020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 85400020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 85470020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 85540020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 85610020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 85680020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 85750020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 85820020 BC CC1,UCBADD BRANCH--YES 000D 85890020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 85960020 BC CC1,UCBADD BRANCH--YES 000D 86030020 BC CC15,CHKA BRANCH 000D 86100020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 86170020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 86240020 CHKA EQU * 000D 86310020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 86380020 BCR CC15,RD RETURN P3984 86450020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 86520020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 86590020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 86660020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 86730020 BNE UCBADD1 BRANCH --NO 000E 86800020 L WORK4,K28(WORK4) POINTER TO DCM 000E 86870020 SR PARMREG1,PARMREG1 CLEAR 000E 86940020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 87010020 L WORK1,K20(WORK4) CCW CHAIN POINTER 000E 87080020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 87150020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 87220020 AR PARMREG1,WORK1 CCW ADDRESS 000E 87290020 MVC K1(K3,PARMREG1),MSGBFRAD GET MESSAGE ADDRESS S21257 87360021 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 87430020 B SAVECCW CONTINUE 000E 87500020 UCBADD1 EQU * 000E 87570020 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 000D 87710020 BC CC7,SAVECCW BRANCH--NO 000D 87780020 LA WORK1,CCW2740 ADDRESS OF 2740 CCW 000D 87850020 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADR 000D 87920020 LR WORK1,WORK3 RESTORE WORK1 POINTWER 000D 87990020 BCR CC15,RD RETURN P3984 88060020 MSGBFRAD EQU TYPEWRIT+9 COUNT FIELD S21527 88110021 COUNT EQU TYPEWRIT+14 COUNT FIELD S21527 88120021 EJECT 88130020 * 000D 88200020 ***** R E C O R D E N T R Y B U I L D A R E A 88270020 * 88340020 DS 0F ALIGN S21021 88410021 ORG IFBSER00+3056 S21021 88460021 CTFLDID DC XL5'0' COUNT FIELD 88480020 CTFLDKEY DC X'00' KEY LENGTH S21021 88550021 CTFLDDL DC AL2(332) DATA LENGTH FOR MC RE S21021 88600021 CLASSRC DC X'19' MACHINE CHECK/SER0 S21021 88610021 SYSREL DC X'00' RELEASE NUMBER S21021 88620021 SWS DC XL6'0' SWITCHES S21021 88670021 SW0 EQU SWS S21021 88680021 SW1 EQU SWS+1 S21021 88690021 * SWITCH SETTINGS ON CPU RECORD S21021 88740021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 88750021 * BIT 1 - NS CLOCK S21021 88760021 * BIT 2 - EC MODE S21021 88810021 * BIT 3 - SPARE S21021 88820021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 88830021 * BIT 5 - SPARE S21021 88880021 * BIT 6 - SPARE S21021 88890021 * BIT 7 - SPARE S21021 88900021 * BIT 8 - SHORT RECORD S21021 88950021 * BIT 9 - RECORD INCOMPLETE S21021 88960021 * BIT 10 - SYSTEM TERMINATED S21021 88970021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 89020021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 89030021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 89040021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 89090021 * BIT 15 - SPARE S21021 89100021 REDATE DC XL4'0' DATE S21021 89110021 RETIME DC XL4'0' TIME S21021 89160021 SP1 DC X'0' NOT USED S21021 89170021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 89180021 RECPUID DC X'0065' CPUID-MOD 65 S21021 89230021 SP2 DC X'0000' SPARE S21021 89240021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 89250021 JOBNAME DC XL8'0' JOBNAME S21021 89300021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 89310021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 89320021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 89370021 GPRPAR DC X'00070000' GP REG PARITY INDICATOR S21021 89380021 DC XL4'0' S21021 89390021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 89440021 CPULOG DC 176X'00' CPU HARDWARE LOG AREA S21021 89450021 SPACE 2 89460021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 89510021 SPACE 2 89520021 * SWITCH SETTINGS FOR CHANNEL RECORD 89530021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 89580021 * BIT 1 - NS CLOCK S21021 89590021 * BIT 2 - EC MODE S21021 89600021 * BIT 3 - SPARE S21021 89650021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 89660021 * BIT 5 - SPARE S21021 89670021 * BIT 6 - SPARE S21021 89720021 * BIT 7 - SPARE S21021 89730021 * BIT 8 - MESSAGE REQUIRED S21021 89740021 * BIT 9 - RECORD INCOMPLETE S21021 89790021 * BIT 10 - SYSTEM TERMINATED S21021 89800021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 89810021 * BIT 12 - ILLEGAL CUA S21021 89860021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 89870021 * BIT 14 - ERP IN PROGRESS S21021 89880021 * BIT 15 - SPARE S21021 89930021 IJOBNAME EQU PROGID JOBNAME S21021 89940021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 89950021 INCCW EQU PROGID+24 FAILING CCW S21021 90000021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 90010021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 90020021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 90070021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 90080021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 90090021 INMP EQU PROGID+52 MP INFO S21021 90140021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 90150021 EJECT 000D 92120020 * 000D 92190020 *** HEADER RECORD FROM SYS1.LOGREC 000C 92260020 * 000C 92330020 HDRREC DS 0F S21021 92400021 DC X'FF000000',9F'0' S21021 92450021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 92460021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 92470021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 92520021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 92530021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 92540021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 92590021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 92600021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 92610021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 92660021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 92670021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 92680021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 92730021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 92740021 SPACE 2 93240020 * 000C 93310020 *** PROGRAM WORK AREAS 000C 93380020 * 000C 93450020 DS 0D 000C 93520020 DSRCC DC 2F'0' WORK AREA S21021 93570021 DISKSEEK DC XL8'0' INPUT SEEK ADDRESS BBCCHHR 000C 93590020 EOFRECRD DC X'00000000FF000000' EOF RECORD AREA 000C 93660020 PGMPSW DC X'0004000000000000' PROGRAM PSW 000C 93730020 ZERO DC XL4'0' ZERO CONSTANT 000C 93800020 DSECTSAV DC XL4'0' SER AREA SAVE ADDRESS 000C 93870020 R2SAVE DC XL4'0' R2 SAVE AREA 000C 93940020 R0RDAREA DC XL5'0' RO READ AREA 000C 94010020 SENAREA DC XL3'0' SENSE AREA 000C 94080020 SPACE 1 94150020 PROGEND EQU * 94220020 SPACE 3 94290020 END 94360020 ./ ADD SSI=01013160,NAME=IFBSR075,SOURCE=0 TITLE 'IFBSER00/IFBSR075 SER0/SYSTEM ENVIRONMENT RECORDING' 00070020 *********************************************************************** 00140020 *STATUS/CHANGE LEVEL: 000 * 00210020 * * 00280020 *FUNCTION/OPERATION: THIS MODULE WILL PRESERVE THE STATUS OF HARDWARE * 00350020 * GIVEN A MACHINE MALFUNCTION BY COLLECTING, FORMATTING, AND WRITING* 00420020 * ONTO THE SYS1.LOGREC DATA SET, ERROR DATA RESULTING FROM THE * 00490020 * FOLLOWING TWO CONDITIONS: * 00560020 * * 00630020 * (1) A MACHINE CHECK INTERRUPT WITHIN THE CPU, CORE STORAGE, OR * 00700020 * CHANNELS; OR * 00770020 * (2) AN I/O ERROR INTERRUPT WITHIN THE CHANNELS OR CONTROL UNITS. * 00840020 * * 00910020 * * 00980020 *ENTRY POINT: THE PROGRAM BEGINS AT THE SYMBOL 'IFCSER00' * 01050020 * * 01120020 *INPUT: CONTENTS OF GPR 13,14,15 ARE SAVED IN LOWER CORE - LOC. 8-19 -* 01190020 * BY THE CALLING MODULE FOR THIS PROGRAM, IFBSR000. * 01260020 * * 01330020 *OUTPUT: ALL TERMINATION MESSAGES ARE TO OPERATOR VIA CONSOLE * 01400020 * * 01470020 *EXTERNAL SUBROUTINES: NONE * 01540020 * * 01610020 *EXITS - NORMAL: THERE ARE TWO CONDITIONS UNDER WHICH NORMAL COMPLET- * 01680020 * ION OF THE PROGRAM WILL OCCUR. (1) IF MACHINE CHECK INTERRUPTS * 01750020 * HAVE NOT OCCURRED DURING THE DATA COLLECTION PHASE OF THIS PROGRAM* 01820020 * THEN THE MESSAGE: * 01890020 * * 01960020 * IFBF05W MACHINE ERROR. RELOAD OS/360 * 02030020 * * 02100020 * WILL BE OUTPUTTED. IF, HOWEVER, (2) A MACHINE CHECK INTERRUPT * 02170020 * OCCURRED WHILE IN THE PROCESS OF COLLECTING DATA ON THE ORIGINAL * 02240020 * ERROR CONDITION, DATA COLLECTION TERMINATES AND AN ATTEMPT IS * 02310020 * MADE TO RECORD THE (PARTIAL) DATA RECORD. IF THE RECORDING IS * 02380020 * SUSCESSFUL, THE MESSAGE: * 02450020 * * 02520020 * IFBF06W MACHINE ERROR. RELOAD OS/360 * 02590020 * * 02660020 * WILL BE OUTPUTTED. IN THE EVENT THAT EITHER EOJ MESSAGE IS * 02730020 * NOT ABLE TO BE OUTPUTTED, THE IOS DISPLAY CODE, X'F05' IS SET UP * 02800020 * AND A BRANCH WILL BE MADE TO THE BELL RINGING ROUTINE WHICH, IN * 02870020 * TURN, WILL PUT THE SYSTEM INTO THE WAIT STATE. * 02940020 * * 03010020 *EXITS-ERRORS: THERE ARE FOUR CONDITIONS UNDER WHICH THE PROGRAM * 03080020 * WILL TAKE THIS EXIT. (1) THE DATA COLLECTED ON THE ORIGINAL ERROR * 03150020 * CONDITION MAY NOT , DUE TO I/O ERRORS, BE ENTERED ONTO THE SYS1.- * 03220020 * LOGREC DATA SET. IN THIS CASE, THE MESSAGE * 03290020 * * 03360020 * IFBF08S MACHINE ERROR. EXECUTE SEREP * 03430020 * * 03500020 * WILL OCCUR. (2) THE SECOND CASE IS WHERE, GIVEN A MCI DURING THE * 03570020 * DATA COLLECTION PHASE, THE ATTEMPT TO OUTPUT (THE PARTIAL RECORD * 03640020 * ENTRY) IS UNSUSCESSFUL DUE TO AN ADDITIONAL MACHINE CK. INT. IN * 03710020 * THIS CASE, THE MESSAGE: * 03780020 * * 03850020 * IFBF07S MACHINE ERROR. EXECUTE SEREP * 03920020 * * 03990020 * IS OUTPUTTED. THE THIRD CASE IS WHERE THE SYS1.LOGREC DATA SET * 04060020 * IS FULL OR THE SAFETY BYTE IN THE HEADER RECORD IS OFF. IN THIS * 04130020 * CASE, THE MESSAGE; * 04200020 * * 04270020 * IFBF09S MACHINE ERROR. EXECUTE SEREP * 04340020 * * 04410020 * A FOURTH CASE OCCURS WHEN THIS PROGRAM CANNOT 'BOOTSTRAP' THE * 04480020 * SECOND 1024 BYTES OF ITSELF INTO CORE FROM THE LINK LIBRARY. IN * 04550020 * THIS CASE, THE MESSAGE, * 04620020 * * 04690020 * IFBF0AS MACHINE ERROR. EXECUTE SEREP * 04760020 * * 04830020 *EXITS-SPECIAL: IN THE EVENT OF AN ABNORMAL TERMINATION, IOS HAS * 04900020 * ESTABLISHED WAIT-STATE CODES X'F05' TO X'F0A' FOR USE BY THIS * 04970020 * PROGRAM. IN THE EVENT THAT A TERMINATION MESSAGE CANNOT BE PRINTED* 05040020 * ON EITHER THE PRIMARY OR ALTERNATE I/O DEVICE, THIS CODE WILL * 05110020 * BE DISPLAYED IN THE 'IC' OF THE CURRENT PSW. * 05180020 * * 05250020 *TABLES/WORK AREAS: A SECTION OF CONSTANTS IS GIVEN WHICH RELATES * 05320020 * TRACK LENGTH REQUIREMENTS FOR ANY TYPE OF RECORDING AND ANY I/O * 05390020 * DEVICE CURRENTLY BEING SUPPORTED AS A SYSTEMS RESIDENCE DEVICE. * 05460020 * * 05530020 *ATTRIBUTES: PROGRAM IS NON-RESUABLE, DOES NOT USE IOS OR OS/360 * 05600020 * FACILITIES, REQUIRES A RELOAD OF OS/360 AND ABORTED TASKS UPON * 05670020 * COMPLETION OF FUNCTIONS, AND, AFTER NORMAL OR ABNORMAL TERMINATION* 05740020 * THIS PROGRAM WILL ENTER THE WAIT STATE. THIS PROGRAM HAS BEEN * 05810020 * DESIGNED FOR THE SSS,SPS, OR MS1 VERSIONS OF OS/360. * 05880020 *********************************************************************** 05950020 EJECT 06020020 * HEADER RECORD AREA * 06070021 * ***************************************************************** 06080021 * * * * HIGH * 06082021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 06084021 * * * (CCHH) * (CC) * 06086021 * ***************************************************************** 06088021 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 06088421 * +8 * (CONT.) * * (BBCCHHR) * 06088821 * * (HH) * * * 06089221 * ***************************************************************** 06089621 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 06089721 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 06089821 * * (CONT.) * TRACK * TRACK * WRITTEN * 06089921 * ***************************************************************** 06113221 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 06123221 * +24 * WRITTEN (CONT.) * PER * WARN. * 06133221 * * * CYLINDER * CNT. * 06135221 * ***************************************************************** 06135621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 06136021 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 06136421 * * CNT. * CODE * * SWT. * (FF) * 06136521 * ***************************************************************** 06136621 EJECT 06144421 * CPU RECORD ENTRY AREA * 06152221 * ***************************************************************** 06160020 * * CLASS * SYS- * * * 06230021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06280021 * * * RLSE. * * * 06290021 * ***************************************************************** 06440020 * * * * 06510020 * +8 * DATE * TIME * 06580020 * * * * 06650020 * ***************************************************************** 06720020 * * * * * * 06790021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 06840021 * * * * * * 06850021 * ***************************************************************** 06860021 * * * 06910021 * +24 * PROGRAM IDENTITY * 06920021 * * * 06930021 * ***************************************************************** 06980021 * * * 06990021 * +32 * JOB IDENTITY * 07000021 * * * 07050021 * ***************************************************************** 07060021 * * * 07070021 * +40 * MACHINE CHECK OLD PSW * 07120021 * * * 07130021 * ***************************************************************** 07140021 * * * 07190021 * +48 * VARIABLE LOGOUT FIELD * 07200021 * * * 07210021 * ***************************************************************** 07260021 * * * 07270021 * * MCH * 07280021 * * DAMAGE ASSESSMENT * 07330021 * * * 07340021 * ***************************************************************** 07350021 EJECT 000C 09870020 SPACE 3 09940020 * INBOARD RECORD ENTRY AREA * 10010020 * ***************************************************************** 10080020 * * CLASS * SYS- * * * 10150021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 10200021 * * * RLSE. * * * 10210021 * ***************************************************************** 10360020 * * * * 10430020 * +8 * DATE * TIME * 10500020 * * * * 10570020 * ***************************************************************** 10640020 * * * * * * 10710021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 10760021 * * * * * * 10770021 * ***************************************************************** 10780021 * * * 10830021 * +24 * JOB IDENTITY * 10840021 * * * 10850021 * ***************************************************************** 10900021 * * * 10910021 * +32 * ACTIVE I/O UNITS * 10920021 * * * 10970021 * ***************************************************************** 10980021 * * * 10990021 * +48 * FAILING CCW * 11040021 * * * 11050021 * ***************************************************************** 11060021 * * * 11110021 * +56 * CSW * 11120021 * * * 11130021 * ***************************************************************** 11180021 * * * * 11190021 * +64 * ECSW * DEVICE TYPE * 11200021 * * * * 11250021 * ***************************************************************** 11260021 * * CHAN. * * * 11270021 * +72 * IDENT * CUA * MP INFO * 11320021 * * * * 11330021 * ***************************************************************** 11340021 * * MACHINE DEPENDENT * 11390021 * +80 * CHANNEL * 11400021 * * LOG * 11410021 * ***************************************************************** 11460021 EJECT 13580020 R0 EQU 0 13650020 R1 EQU 1 13720020 R2 EQU 2 13790020 R3 EQU 3 13860020 R4 EQU 4 13930020 R5 EQU 5 14000020 R6 EQU 6 14070020 R7 EQU 7 14140020 R8 EQU 8 14210020 R9 EQU 9 14280020 RA EQU 10 14350020 RB EQU 11 14420020 RC EQU 12 14490020 RD EQU 13 14560020 RE EQU 14 14630020 RF EQU 15 14700020 SPACE 1 14770020 PARMREG0 EQU 5 PARAMETER REGISTER 14840020 PARMREG1 EQU 1 PARAMETER REGISTER 14910020 WORK1 EQU 2 WORK REGISTER 14980020 WORK2 EQU 3 WORK REGISTER 15050020 WORK3 EQU 4 WORK REGISTER 15120020 WORK4 EQU 5 WORK REGISTER 15190020 WORK5 EQU 6 15260020 WORK6 EQU 7 WORK REGISTER 15330020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 15400020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 15470020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 15540020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 15610020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 15680020 SPACE 1 15750020 ENTRY IFBSER00 15820020 EJECT 15890020 ACTTCB EQU 4 15960020 UCBACT EQU 6 16030020 IOBPTR EQU 4 16100020 STARTADR EQU 16 16170020 UCBCUA EQU 4 16240020 SPACE 1 16310020 SHPC EQU 0 16380020 T4PC EQU 4 16450020 LTPC EQU 8 16520020 SPACE 1 16590020 TOPRBP EQU 0 16660020 UCBTYPE EQU 16 S21021 16710021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000C 16730020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000C 16800020 SPACE 1 16870020 SPACE 1 16940020 BOOTSTRP EQU X'80' BOOTSTRAPING COMPLETE 17010020 IORTYENT EQU X'40' ENTRY DUE TO I/O RETRY 17080020 HEADEROK EQU X'20' HEADER READ AND UPDATED OK 17150020 IOCMPLTE EQU X'10' I/O OPERATION COMPLETE SWITCH 17220020 GPTESTCP EQU X'08' GP REGISTER TEST COMPLETE 17290020 CCWUPDAT EQU X'04' CCW UPDATE COMPLETE 17360020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 17430020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 17500020 HEX0 EQU X'00' S21021 17550021 HEX01 EQU X'01' S21021 17560021 HEX08 EQU X'08' S21021 17562021 HEX0F EQU X'0F' S21021 17564021 HEX75 EQU X'75' CPU MODEL ID S21021 17566021 HEX80 EQU X'80' S21021 17568021 HEXA0 EQU X'A0' S21021 17568421 HEXBF EQU X'BF' S21021 17568821 HEXC0 EQU X'C0' S21014 17569221 SPACE 1 17570020 DCBF0 EQU 44 17640020 DEBF2 EQU 32 17710020 DEBF4 EQU 36 17780020 UCBF3B EQU 19 DEVICE TYPE ENTRY 17850020 UCBF12 EQU 20 17920020 SPACE 1 17990020 OPTION1 EQU 64 18060020 OPTION2 EQU 32 18130020 CDPTR EQU 12 18200020 MS1PGMID EQU 8 18270020 SPACE 1 18340020 SPACE 1 18410020 UCMUCB EQU 12 UCM POINTER TO UCB 18480020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 18550020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 18620021 UCMOF EQU 128 WTO SUPPORT (UCM) 18690020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 18760020 SPACE 1 18830020 DEBPT EQU 8 18900020 UCBPTR EQU 32 18970020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 19040020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 19110020 SPACE 1 19180020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 19250020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 19320020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 19390020 UCMMODE EQU X'44' UCM FLAGS A47227 19460021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 19530020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 19600020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 19670020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 19740020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 19810020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 19880020 UCMHRDT EQU X'40' UCM HARD COPY 000D 19950020 UCMSTS EQU 24 000D 20020020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 20090020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 20160020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 20230020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 20300020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 20370020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 20440020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 20510020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 20580020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 20650020 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 20720020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 20790021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 20840021 OVRLAY EQU X'04' DATA FOR RE OVERLAYED S21021 20850021 IOBERR EQU X'20' IOB ERP INDICATOR 23243 20860020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 20930020 EJECT 21000020 * EQUATES USED FOR CONDITION CODES 21070020 CC1 EQU 1 000D 21140020 CC6 EQU 6 000D 21210020 CC7 EQU 7 000D 21280020 CC8 EQU 8 000D 21350020 CC9 EQU 9 000D 21420020 CC15 EQU 15 000D 21490020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 21560020 AD0 EQU 0 000D 21630020 AD1 EQU 1 000D 21700020 AD2 EQU 2 S21021 21750021 AD3 EQU 3 S21021 21760021 AD4 EQU 4 000D 21770020 AD5 EQU 5 000D 21840020 AD6 EQU 6 000D 21910020 AD8 EQU 8 000D 21980020 AD9 EQU 9 S21021 22030021 AD12 EQU 12 000D 22050020 AD56 EQU 56 000D 22120020 AD72 EQU 72 000D 22190020 AD124 EQU 124 000D 22260020 * EQUATES USED FOR CONSTANTS 22330020 K80 EQU X'80' 000D 22400020 K2 EQU 2 000D 22470020 K4 EQU 4 000D 22540020 K5 EQU 5 000D 22610020 K9 EQU 9 S21021 22660021 K10 EQU 10 000D 22680020 K12 EQU 12 S21021 22730021 KFF EQU X'FF' 000D 22750020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 22820020 M1 EQU 1 S21021 22870021 M2 EQU 2 000D 22890020 M4 EQU 4 S21021 22940021 M6 EQU 6 000D 22960020 M7 EQU 7 S21021 23010021 M8 EQU 8 000E 23030020 M12 EQU 12 000D 23100020 M14 EQU 14 000D 23170020 M24 EQU 24 S21021 23240021 M29 EQU 29 S21021 23290021 M44 EQU 44 S21021 23300021 M56 EQU 56 S21021 23310021 K1 EQU 1 000E 23380020 K3 EQU 3 000E 23450020 K6 EQU 6 000E 23520020 K8 EQU 8 000E 23590020 K20 EQU 20 000E 23660020 K28 EQU 28 000E 23730020 LOC40 EQU 40 S21014 23780021 LOC107 EQU 107 S21014 23790021 CPUSER1 EQU X'19' MCH RECORDING S21021 23792021 INBSER1 EQU X'29' CLASS AND SOURCE RECORD S21021 23794021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 23796021 SPACE 1 23800020 EJECT 23870020 IFBSR075 CSECT 23940020 *0122 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 24010021 *0277 062300-063700,067900-098000,101500-102900,107100-135100, S21021 24060021 * 207900,232400-233100,263900,316400,371700,390600,392000, S21021 24070021 * 402500,403900,406700,513100,517300,520100,527800, S21021 24080021 * 530600-534100,540400,548800,557200-560700,562100,569800, S21021 24130021 * 572600-581000,584500,598500,599900-601300,606200, S21021 24140021 * 608300-609000,610400,611800-613900,615300-630000, S21021 24150021 * 639100-639800,647500,653100-655200,674100,675500-676200, S21021 24200021 * 700700,713300,725200-728000,730100,731500-734300,736400, S21021 24210021 * 749700-751100,786800,847700,850500,858200,859600-894600, S21021 24220021 * 898100-905800 S21021 24270021 USING CVTDSECT,CVTREG 24570020 CVTDSECT DSECT 24640020 EQUATE CVT 24710020 EJECT 24780020 *********************************************************************** 24850020 ** ** 24920020 *** SER0 PASS DSECT - PARAMETERS SUPPLIED FROM NUCLEUS *** 24990020 ** ** 25060020 *********************************************************************** 25130020 USING SERDSECT,RE 25200020 SERDSECT DSECT 25270020 RING DC V(IECIWTST) ADDRESS OF BELL RING ROUTINE 25340020 CTA DC V(IFBACTA) CHANNEL TYPE ASSIGNMENTS 25410020 CVTMACRO DC V(IEACVT) ADDRESS OF CVT 25480020 IFBACUA DS CL2 LINK LIBRARY DEVICE CUA 25550020 DS CL2 25620020 IFBASEEK DS CL5 CCHHR OF 1ST TEXT RECORD-LINKLIB 25690020 IFBSR075 CSECT 25760020 EJECT 25830020 *********************************************************************** 25900020 ** ** 25970020 *** INITIAL ENTRY POINT FROM RESIDENT NUCLEUS MODULE *** 26040020 ** ** 26110020 *********************************************************************** 26180020 USING *,RF 26250020 IFBSER00 L RF,116 SET UP BASE REG 26320020 XC HDRREC(80),HDRREC CLEAR HEADER REC AREA S21021 26390021 MVI RECPUID+AD1,HEX75 GET CPU MODEL ID S21021 26440021 MVI PGMPSW+1,X'04' SET ENABLE BIT 26460020 MVI EOFRECRD+4,X'FF' SET UP EOF RECORD 26530020 ST RE,DSECTSAV SAVE SER0 PASS PARAMETERS 26600020 MVC INLOG(24),CPULOG+176 REPOSITION CHANNEL LOG 26670020 SER LA RD,SERA RETURN POINT 26740020 ST RD,PGMPSW+4 ENABLE PSW 26810020 MVC 112(8),PGMPSW PLACE IN HARDWARE 26880020 LA RD,SECMCI SECOND MCI HANDLER 26950020 LPSW PGMPSW ENABLE 27020020 SERA ST RD,116 MC NEW PSW 27090020 MVI 113,0 DISABLE MCI'S 27160020 MVC 104(8),112 PROG NEW PSW 27230020 SPACE 1 27300020 * * 27370020 *** DATA ADDRESS FIELD OF CCW'S REQUIRE MODIFICATION *** 27440020 * * 27510020 LA RE,SENSECCW FIRST CCW OF CHAIN 27580020 SERB L RD,0(RE) DATA ADDRESS FIELD OF CCW 27650020 AR RD,RF ADD IN BASE VALUE 27720020 ST RD,0(RE) RESTORE UPDATED ADDRESS 27790020 LA RE,8(RE) NEXT CCW 27860020 LA RD,LASTCCW CHECK FOR END 27930020 CLR RE,RD LAST ONE 28000020 BC 4,SERB BRANCH--NOT THE END 28070020 MVC TXTSAVE(4),RDTEXT SAVE FOR POSSIBLE RETRY A31477 28140020 OI FLAGS,CCWUPDAT INDICATE CCW UPDATED 28210020 SPACE 1 28280020 EJECT 28350020 *********************************************************************** 28420020 *** *** 28490020 ***** GENERAL PURPOSE REGISTER PARITY TEST ***** 28560020 *** *** 28630020 *********************************************************************** 28700020 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 28770020 BC 1,RDNXTMOD BR--CHANNEL CHECK READ NEXT MOD 28840020 GPTEST LA RD,NEXTREG+4 PSW ADDRESS MODIFICATION 28910020 ST RD,PGMPSW+4 STORE IT 28980020 LA RD,MACHCK ENTRANCE POINT ON MACHINE CHECK 29050020 ST RD,116 STORE IT MC NEW PSW 29120020 SPACE 1 29190020 LH RD,EXMODMSK EXECUTE MODIFICATION MASK 29260020 NEXTREG EX RD,EXSTORE ATTEMPT TO EXECUTE THE STORE INSTR. 29330020 SH RD,EXCONST REDUCE EXECUTION MASK BY ONE 29400020 BC 10,NEXTREG BRANCH--TEST NEXT REG 29470020 STM R0,RC,GPREGS STORE REGS INTO RECORD ENTRY 29540020 MVC GPREGS+52(12),0 SAVE REGS 13-15 IN RE AREA 29610020 MVC 112(8),104 RESET MC NEW PSW 29680020 BC 15,RDNXTMOD GO READ NEXT 400 BYTE MODULE 29750020 SPACE 1 29820020 MACHCK EX RD,EXADD CORRECT BAD PARITY IN REG 29890020 SRL RD,4 POSITION EXECUTE MASK 29960020 L RE,FLTBIT PARITY INDICATOR CONSTANT 30030020 SRL RE,0(RD) POSITION PARITY INDICATOR 30100020 O RE,GPRPAR 30170020 ST RE,GPRPAR STORE PARITY INDICATOR 30240020 SLL RD,4 RESTORE EXECUTE MASK 30310020 LPSW PGMPSW ENABLE 30380020 EJECT 30450020 *********************************************************************** 30520020 ** ** 30590020 *** DETERMINE LINK LIBRARY DEVICE TYPE AND READ REMAINING *** 30660020 *** SER 0 - PORTIONS *** 30730020 ** ** 30800020 *********************************************************************** 30870020 RDNXTMOD L RE,DSECTSAV RELOAD DSECT FOR SER0 PARAMETERS 30940020 L CVTREG,CVTMACRO POINTER TO THE CVT 31010020 SPACE 1 31080020 TM FLAGS,IORTYENT SECOND PASS BECAUSE OF RETRY FAIL 31150020 OI FLAGS,GPTESTCP GP TEST COMPLETE INDICATOR 31220020 BC 1,NOIFBSR BR--MODULE NOT LOADED 31290020 SPACE 1 31360020 L R1,CVTLINK DCB OF THE LINKLIB 31430020 L R1,DCBF0(R1) DEB ADDRESS-LINK LIBRARY 31500020 L R1,DEBF2(R1) LINK LIBRARY DEVICE-UCB ADDRESS 31570020 MVC DEVCODE(M1),UCBF3B(R1) GET LINKLIB DEV CODE S21021 31640021 SPACE 1 31710020 LH DADCUA,IFBACUA LINK LIBRARY CUA-FROM SER DSECT 31780020 MVC DISKSEEK+2(5),IFBASEEK CCHHR OF 1ST TEXT RECORD 31850020 MVC R0RDAREA+4(1),IFBASEEK+4 R OF THE FIRST TEXT RECORD 31920020 MVC RDTEXT(4),TXTSAVE INITIAL CCW A31477 31990020 LA R2,2 NUMBER OF PASSES 000C 32060020 LA RD,2 READ TWO RECORDS-1 CTRL $ 1 TEXT 32130020 RDMODS IC R1,R0RDAREA+4 GET R AND UPDATE TO READ 32200020 LA R1,1(R1) CONTROL RECORD 32270020 STC R1,R0RDAREA+4 RESTORE 32340020 ST R2,R2SAVE STORE IN TEMP LOCATION 000C 32410020 BAL LINKREG,IORTN READ CONTROL RECORD 32480020 L R2,R2SAVE RESTORE R2 000C 32550020 BCT RD,RDMODS NEXT 32620020 L R1,RDTEXT READ ADDRESS IN CCW 000C 32690020 LA R1,1024(R1) UPDATE FOR NEXT RECORD 000C 32760020 ST R1,RDTEXT STORE 000C 32830020 MVI RDTEXT,X'06' RESTORE OP CODE 000C 32900020 BCT R2,RDMODS-4 READ NEXT 000C 32970020 BC 15,FIX NEXT PORTION 33040020 EJECT 33110020 *********************************************************************** 33180020 ** ** 33250020 *** I/O ROUTINE TO READ MODULES AND WRITE RECORD ENTRIES *** 33320020 ** ** 33390020 *********************************************************************** 33460020 IORTN LA WORK2,10 TEN RETRIES 33530020 IORTN1 LA WORK1,R0CHAIN START OF CCW CHAIN 33600020 ST WORK1,72 STORE IN CAW 33670020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 33720021 IORTN2 TIO 0(DADCUA) TEST I/O 33740020 BC 6,IORTN2 BR--BUSY OR STATUS STORED 33810020 SIO 0(DADCUA) START I/O 33880020 BC 8,IORTN4 BR--I/O OPERATION INITIATED 33950020 IORTN3 BCT WORK2,IORTN1 BRANCH--TRY AGAIN 34020020 OI FLAGS,IORTYENT RETRY COMPLETE 34090020 BC 15,RECOVER1 BRANCH--SET UP SEREP 34160020 SPACE 1 34230020 IORTN4 TIO 0(DADCUA) TEST I/O 34300020 BC 2,IORTN4 BR--BUSY 34370020 TM 68,X'0D' CHAN END, DEV END, UNIT EXCEPTION 34440020 BC 14,IORTN5 BR--NOT END OF FILE 34510020 CLC DISKSEEK+2(4),R0RDAREA COMPARE R0 AND SEEK ADDRESS 34580020 BC 8,IORTN3 BR--NOT ALTERNATE TRACK 34650020 * 34720020 *** ALTERNATE TRACK - SWITCH SEEK ADDRESS 34790020 * 34860020 ALTRK MVC DISKSEEK+2(4),R0RDAREA SET UP CCHH FROM R0 34930020 BC 15,IORTN1 BRANCH--TRY OPERATION AGAIN 35000020 * 35070020 *** CHECK CSW BITS 35140020 * 35210020 IORTN5 TM 68,2 UNIT CHECK 35280020 BC 1,SENSE BR--CHECK SENSE DATA 35350020 TM 68,4 DEVICE END 35420020 BC 14,IORTN4 BR--NOT DEVICE END 35490020 TM 69,X'FF' CHANNEL FAILURE 35560020 BC 7,IORTN3 BR--RETRY OPERATION 35630020 BCR 15,LINKREG BRANCH--RETURN 35700020 SPACE 1 35770020 * 35840020 *** SENSE DISK TO CHECK FOR 35910020 * 35980020 SENSE LR R0,LINKREG SAVE LINK ADDRESS IN R0 36050020 LA WORK1,SENSECCW SENSE CCW 36120020 BAL LINKREG,IORTN1+4 GET SENSE DATA 36190020 TM SENAREA,2 ALTERNATE TRACK 36260020 LR LINKREG,R0 RESTORE LINK REG ADDRESS 36330020 BC 1,ALTRK 36400020 TM SENAREA+1,8 NO RECORD FOUND 36470020 BC 14,IORTN3 BR--NO RETRY OPERATION 36540020 * 36610020 * SET UP FOR A TRACK SWITCH TO FIND THE RECORD 36680020 * 36750020 TM FLAGS,BOOTSTRP READING LINKLIB OR LOGREC 36820020 BC 1,IORTN3 BR--WORKING WITH LOGREC TRY AGAIN 36890020 XR R1,R1 CLEAR R1 36960020 XR R4,R4 CLEAR R4 37030020 MVI R0RDAREA+4,1 SET IDENT FIELD TO ONE 37100020 IC R1,DEVCODE DEVICE TYPE OF LINKLIB S21021 37170021 SLL R1,2 MULTIPLY BY FOUR 37240020 LA R1,DEVTABLE-1(R1) ADDRESS OF LAST BYTE OF DESIRED ENT. 37310020 LA R2,R0RDAREA+3 ADDRESS OF LAST BYTE OF R0 AREA 37380020 LA R3,4 FOUR BYTES 37450020 TRKUPDAT IC R4,0(R2) GET BYTE 37520020 LA R4,1(R4) ADD ONE TO BYTE 37590020 STC R4,0(R2) REPLACE 37660020 CLC 0(1,R2),0(R1) COMPARE WITH TABLE 37730020 BC 12,ALTRK BR--TRY FOR RECORD ON NEXT TRACK 37800020 MVI 0(R2),0 CLEAR BYTE TO ZERO 37870020 BCT R1,*+4 REDUCE ADDRESSES 37940020 BCT R2,*+4 BY ONE 38010020 BCT R3,TRKUPDAT BRANCH--NEXT BYTE 38080020 BC 15,NOIFBSR BRANCH--CAN'T FIND REMAINING SER0 38150020 EJECT 38220020 *********************************************************************** 38290020 ** ** 38360020 *** CHANNEL COMMANDS AND I/O WORK AREAS *** 38430020 ** ** 38500020 *********************************************************************** 38570020 SENSECOM EQU 4 38640020 SEEK EQU 7 38710020 RDR0 EQU 22 38780020 SEARCH EQU 49 38850020 TIC EQU 8 38920020 WRTDATA EQU 5 S21021 38970021 RDDATA EQU 6 38990020 WRTCKD EQU 29 39130020 BELL EQU 11 39270020 TYPE EQU 9 39340020 SILI EQU 32 39410020 CC EQU 64 39480020 DS 0D 39550020 SENSECCW CCW SENSECOM,SENAREA,SILI,3 SENSE CCW 39620020 SPACE 1 39690020 R0CHAIN CCW SEEK,DISKSEEK,CC,6 SEEK CCW 39760020 CCW RDR0,R0RDAREA,CC+SILI,4 RD PARTIAL R0 CCW 39830020 SPACE 1 39900020 RDMODXX CCW SEARCH,R0RDAREA,CC,5 SEARCH ID EQUAL CCW 39970020 CCW TIC,RDMODXX,0,0 TRANSFER IN CHANNEL CCW 40040020 RDTEXT CCW RDDATA,1024,SILI,1024 READ 400 BYTE MODULE CCW 40110020 SPACE 1 40180020 RDHEADER CCW RDDATA,HDRREC,0,40 READ HEADER CCW S21021 40250021 SPACE 1 40320020 WRTRECCW CCW WRTCKD,CTFLDID,0,316 WRITE RECORD ENTRY CCW S21021 40390021 SPACE 1 40460020 WRITEEOF CCW WRTCKD,EOFRECRD,0,8 WRITE EOF CCW 40530020 SPACE 1 40600020 WRTHEAD CCW WRTDATA,HDRREC,0,40 WRITE HEADER CCW S21021 40670021 SPACE 1 000D 40740020 *** MESSAGE CCW'S 000D 40810020 SPACE 1 40880020 * 1052 CONSOLE 000D 40950020 * PRINTERS/PUNCHES 000D 41020020 TYPEWRIT CCW BELL,0,CC+SILI,1 RING CONSOLE AL ARM 000D 41090020 CCW TYPE,MSGAREA,SILI,44 TYPE MESSAGE S21021 41160021 SPACE 1 000D 41230020 * 2740 CONSOLE 000D 41300020 CCW2740 CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 41370021 DUPLIC CCW 01,MSGAREA,SILI,44 TYPE MESSAGE S21021 41420021 LASTCCW EQU * 41510020 EJECT 41580020 *********************************************************************** 41650020 ** ** 41720020 *** PROGRAM CONSTANTS *** 41790020 ** ** 41860020 *********************************************************************** 41930020 TXTSAVE DC XL4'0' SAVE AREA - INITIAL ADDR A31477 42000020 FLTBIT DC X'80000000' PARITY INDICATOR 42070020 EXSTORE ST R0,128 EXECUTE INSTRUCTION- STORE 42140020 EXADD AL R0,ZERO EXECUTE INSTRUCTION- ADD 42210020 EXCONST DC XL2'10' EXECUTE MASK REDUCING CONST 42280020 EXMODMSK DC XL2'C0' INITIAL MASK REG 12 42350020 SPACE 2 42420020 DEVTABLE DC X'00CA0009' * 2311 MAX CCHH VALUES 42490020 DC X'000000C7' * 2301 MAX CCHH VALUES 42560020 DC X'004F0009' * 2303 MAX CCHH VALUES 42630020 DC X'00F9002D' * 2302 MAX CCHH VALUES 42700020 DC X'13090413' * 2321 MAX CCHH VALUES 42770020 DC X'00000000' * DUMMY 42840020 DC X'00000000' * DUMMY 42910020 DC X'00C70013' * 2314 MAX CCHH VALUES A33557 42980020 SPACE 1 43050020 SPACE 2 43120020 EJECT 43190020 *********************************************************************** 43260020 * THE PROGRAM PROGRESS IS FOLLOWED BY THE SETTING OF CERTAIN FLAG * 43330020 * BITS WITHIN A FIELD CALLED FLAGS-- * 43400020 * * 43470020 * BIT 0- ALL MODULES (400 BYTES EACH) HAVE BEEN READ IN * 43540020 * BIT 1- ERROR ENTRY DUE TO TEN TIMES I/O RETRY 43610020 * BIT 2- HEADER RECORD READ AND UPDATED OK 43680020 * BIT 3- ALL I/O OPERATIONS COMPLETED 43750020 * BIT 4- 43820020 * BIT 5- CCW'S ARE ALL UPDATED 43890020 * BIT 6- HEAD SWITCH REQUIRED TO WRITE EOF 43960020 * BIT 7- SECOND MACHINE CHECK HAS OCCURRED 44030020 *********************************************************************** 44100020 FLAGS DC X'00' 44170020 SPACE 2 44240020 SECMCI TM FLAGS,SECONDMC IS THIS THE SECOND ENTRY HERE 44310020 BC 8,RECOVER BR--NO 44380020 LA R0,X'F07' WAIT CODE 44450020 BC 15,SEREP SET UP SEREP INTERFACE 44520020 SPACE 1 44590020 RECOVER OI FLAGS,SECONDMC INDICATE NEXT WILL BE SECOND MCI 44660020 LA R1,RECOVER1 RETURN POINT 44730020 ST R1,PGMPSW+4 44800020 LPSW PGMPSW CONTINUE ENABLED 44870020 RECOVER1 TM FLAGS,CCWUPDAT CCW UPDATED 44940020 BC 8,NOIFBSR BR-- NO 45010020 TM FLAGS,BOOTSTRP ALL MODULES BEEN READ 45080020 BC 8,RDNXTMOD BR--NOT YET TRY AGAIN 45150020 TM FLAGS,IORTYENT ENTRY DUE TO I/O RETRY 45220020 BC 1,IOERROR BR--YES - EXIT TO I/O ERROR 45290020 TM FLAGS,HEADEROK HEADER BEEN READ AND UPDATED OK 45360020 BC 8,SERLA BR--NO GO READ HEADER 45430020 TM FLAGS,IOCMPLTE I/O OPERATION COMPLETE 45500020 BC 1,COMPLETE BR--YES TERMINATE 45570020 BC 15,WRITENT BR--WRITE RECORD ENTRY 45640020 SPACE 1 45710020 NOIFBSR LA R0,X'F0A' IFBSR000 MODULE COULD NOT BE READ 45780020 MVI MSGAREA+5,C'A' PRINTABLE CHARACTER 45850020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 45920020 SPACE 1 45990020 LOGREC LA R0,X'F09' SYS1.LOGREC DATA SET ERROR 46060020 MVI MSGAREA+5,C'9' PRINTABLE CHARACTER 46130020 BC 15,SEREP BRANCH--SET UP SEREP INTERFACE 46200020 SPACE 1 46270020 IOERROR LA R0,X'F08' I/O ERRORS HAVE OCCURRED 46340020 MVI MSGAREA+5,C'8' PRINTABLE CHARACTER 46410020 EJECT 46480020 *********************************************************************** 46550020 ** ** 46620020 *** ABNORMAL TERMINATION - SEREP INTERFACE *** 46690020 ** ** 46760020 *********************************************************************** 46830020 SEREP TM FLAGS,K80 ALL MODULES READ IN 000D 46900020 BC CC7,SEREP1 BRANCH--- YES 000D 46970020 L RD,RING LOAD ADR OF RING BELL RTN 000D 47040020 BCR CC15,RD BRANCH 000D 47110020 SEREP1 BAL LINKREG,LOCCONS BRANCH TO LOCATE CONSOLE 000D 47180020 BAL LINKREG,PRINT BRANCH TO PRINT MSG 000D 47250020 SPACE 1 47320020 SEREPIF MVI 115,0 SEREP CODE CPU 47390020 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 47460020 BC 14,*+8 BR--CPU CHECK 47530020 MVI 115,X'0F' SEREP CODE CHANNEL 47600020 MVC 58(2),INCUA CHANNEL/UNIT ADDRESS 47670020 MVC 64(8),INCSW CHANNEL STATUS WORD 47740020 MVC 304(24),INLOG CHANNEL LOGOUT 47810020 MVC 48(8),MCIOPSW MACHINE CHECK OLD PSW 47880020 MVC 128(152),CPULOG CPU LOGOUT 47950020 SPACE 1 48020020 * 48090020 *** ENTER WAIT STATE 48160020 * 48230020 EXIT ST R0,PGMPSW+4 STORE TERMINATION CODE 48300020 MVI PGMPSW+1,X'02' SET UP FOR WAIT STATE 48370020 LPSW PGMPSW END 48440020 EJECT 48510020 *********************************************************************** 48580020 *** *** 48650020 ***** FLOATING POINT REGISTER PARITY TEST ***** 48720020 *** *** 48790020 *********************************************************************** 48860020 FIX OI FLAGS,BOOTSTRP INDICATE ALL MODULES READ IN 48930020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 48980021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 48990021 TM MCIOPSW+2,X'FF' CHANNEL OR CPU CHECK 49000020 BC 1,SERP BR--CHANNEL CHECK 49070020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 49120021 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CPU ERROR S21021 49130021 LA R3,RESUME RESUME ADDRESS FOR 49140020 ST R3,PGMPSW+4 PSW 49210020 FPTEST LA R3,FPREGS ADDR OF REGS IN RE AREA 49280020 LA R2,128 FP REG FLOATING INDICATOR 49350020 SLR R6,R6 CLEAR REGISTER 49420020 SLR R5,R5 CLEAR REGISTER--EX MOD MASK 49490020 LA R4,4 COUNTER FOR FOUR FP REGS 49560020 REPEAT LA R1,REGPAR ADDR OF MACHINE CHECK ENTRY PT 49630020 ST R1,116 STORE IN MACHINE CHECK NEW PSW 49700020 EX R5,STDFPR EXECUTE STORE DOUBLE INSTR 49770020 SRLIND SRL R2,1 POSITION FLOATING INDICATOR 49840020 LA R5,32(R5) UPDATE EXECUTE INSTRUCTION MASK 49910020 LA R3,8(R3) NEXT FP REG SAVE AREA 49980020 LA R1,STPSW RESUME ADDRESS FOR MACHINE CHK 50050020 STPSW ST R1,116 STORE IN NEW MC PSW 50120020 LPSW PGMPSW ENABLE 50190020 RESUME BCT R4,REPEAT REPEAT FOR NEXT FP REG 50260020 STC R6,FPRPAR STORE PARITY INDICATORS IN RE 50330020 MVC 112(8),104 RESTORE MC NEW PSW 50400020 BC 15,SERP BRANCH TO NEXT FUNCTION 50470020 SPACE 2 50540020 REGPAR OR R6,R2 SET REG PARITY INDICATOR 50610020 EX R5,STDFPR EXECUTE STORE FP REG INSTRUCTIO 50680020 MVC 0(4,R3),0(R3) CORRECT BAD PARITY IN STORAGE 50750020 MVC 4(4,R3),4(R3) CORRECT BAD PARITY IN STORAGE 50820020 EX R5,LDFPR CORRECT BAD PARITY IN REGISTER 50890020 BC 15,SRLIND BR TO SETUP FOR NEXT REG 50960020 SPACE 2 51030020 STDFPR STD 0,0(R3) STORE FP REGISTER 51100020 LDFPR LD 0,0(R3) LOAD FP REGISTER 51170020 EJECT 51240020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 51310021 SPACE 1 51380020 SERP MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY 51450020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 51500021 S WORK1,FOUR GET NEG OFFSET S21021 51510021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 51512021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 51514021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 51516021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 51518021 STC WORK1,SYSREL PUT IN RECORD S21021 51518421 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 51520020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 51590020 SPACE 1 51660020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 51730021 SPACE 1 51780021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 51790021 SPACE 1 51800020 XR WORK1,WORK1 CLEAR REGISTER 51870020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 51940020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 52010021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 52080020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 52150020 L WORK3,80 LOAD HARDWARE TIMER 52220020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 52290020 SLR WORK2,WORK3 SUBTRACT TIMER 52360020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 52430020 BC 3,TADJUST BRANCH ON OVERFLOW 52500020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 52570020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 52640020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 52710020 SRL R3,1 CONVERT TO BIN S21021 52780021 M R2,TD10E5 S21021 52830021 D R2,TDCNVR S21021 52840021 LA R1,32 INITIALIZE LOOP S21021 52842021 L R6,TDIV INITIALIZE REG. S21021 52844021 TDVD SR R2,R2 CLEAR REG S21021 52846021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 52848021 LR R4,R2 S21021 52848421 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 52848821 SH R1,*-2 DECREMENT BY 4 S21021 52849221 LTR R3,R3 IS DIVIDEND 0 S21021 52849621 BZ TDENDCNV YES-BRANCH S21021 52849721 C R1,TD24 IS COUNT =24 S21021 52849821 BNL TDVD BRANCH IF NOT S21021 52849921 X R6,TD12 ALT. DIVISION S21021 52873221 B TDVD S21021 52883221 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 52893221 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 52895221 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 52895621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 52896021 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 52896421 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 52896521 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 52896621 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 52904421 MVI TIMAGE,C',' SET COMMA S21021 52906421 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 52908421 SPACE 1 52912221 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 52920020 SPACE 1 52990020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 53060021 BE CSERB YES - BRANCH S21021 53110021 SPACE 2 53480020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 53550020 SPACE 1 53620020 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 53690020 XR WORK2,WORK2 CLEAR REGISTER 53760020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT SYSTEM 24808 53830020 BC CC7,PCPTCB0 BRANCH--YES 24808 53900020 CLR WORK1,TCBREG COMPARE FOR DUMMY TCB 24808 53970020 BE FAILTCB BRANCH IF ILLEGAL S21021 54040021 PCPTCB0 EQU * 24808 54110020 CLR WORK2,TCBREG TCBREG CONTAIN ADDR OF ZRO 000C 54180020 BC 8,FAILTCB BR-- ILLEGAL TCB 000C 54250020 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 54320020 BC 7,*+6 BR--RB IS NOT A PRB 54390020 LR WORK2,WORK1 SAVE PRB ADDRESS 54460020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 54530020 BC 1,ENDRBLST BR--END OF RB LIST 54600020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 54670020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 54740020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 54810020 BC 8,FAILTCB YES-BRANCH AROUND S21021 54880021 TM CVTDCB,OPTION1+OPTION2 PCP OR SPS SYSTEM 54950020 BC 7,RBFOUND BR--YES GET PROGRAM ID 55020020 * 55090020 * PROGRAM IDENTITY FOR MS1 55160020 * 55230020 L WORK2,CDPTR(WORK2) POINTER TO CONTENTS DIRECTORY 55300020 LA WORK2,MS1PGMID(WORK2) ADD OFFSET 55370020 * 55440020 * PROGRAM IDENTITY FOR PCP OR SPS 55510020 * 55580020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE 55650020 ***** GET JOBNAME IN PROPER AREA 55720021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 55770021 LA R1,FAILTCBA GET OVERLAY RETURN ADDR S21021 55780021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 55790021 FAILTCBA TM FLAGS,GPTESTCP TEST FOR GP REGS COMP. S21021 55840021 BC 8,SERLA BR--NO - GO READ HEADER 56140020 TM SW1,OVRLAY TEST FOR OVERLAY S21021 56210021 BO SERLA YES-BRANCH AROUND S21021 56260021 NI SW1,HEXBF SET RE COMPLETE S21021 56270021 BC 15,SERLA 56280020 SPACE 3 56330021 *********************************************************************** 56340021 RECOMP LR WORK4,WORK5 ADD OF RE JOBNAME TO WK4 S21021 56342021 L WORK5,K12(TCBREG) GET ADDR OF TIOT S21021 56344021 BAL R3,OVERLAY CHECK FOR ADDR OVERLAY S21021 56346021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 56348021 BR LINKREG RETURN S21021 56348421 *********************************************************************** 56348821 EJECT 56350020 *********************************************************************** 56420020 * * 56490020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 56560020 * * 56630020 *********************************************************************** 56700020 SPACE 1 56770020 **** PLACE CHANNEL TYPE RECORD ENTRY IN RE 56840020 SPACE 1 56910020 * GET CHANNEL IDENTITY 56980021 CSERB SR WORK1,WORK1 CLEAR REG S21021 57030021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 57040021 SRL WORK3,K9 GET CHAN/2 S21021 57042021 L WORK5,CTA GET ADDR OF CHAN TABLE S21021 57044021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 57046021 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 57048021 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 57048421 TM INCUA,HEX01 TEST FOR ODD CHAN ADDR S21021 57048821 BO ODDADR BRANCH IF ODD S21021 57049221 * EVEN ADDRESS 57049621 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 57049721 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 57049821 * GET CHANNEL ADDRESS FOR MESSAGE 57049921 ODDADR MVC ERRTYPE+K6(M1),INCUA MOVE NUMERIC PORTION S21021 57073221 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 57083221 SPACE 1 57096721 ***** LOCATE UCB AND LAST REQUEST ELEMENT 57120020 SPACE 1 57190020 XC INACTIO(M24),INACTIO CLR ACT I/O AND CCW FLD S21021 57260021 LH WORK2,INCUA CHANNEL/UNIT ADDRESS 57330020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 57400021 STH WORK2,INACTIO STORE CUA S21021 57450021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 57460021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 57470021 LA WORK3,K8 GET COUNT S21021 57520021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 57530021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 57540021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 57590021 BC 4,LKUPEND END OF LOOKUP S21021 57600021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 57610021 ***** GET CUA AND COMPARE 57660021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 57670021 N WORK5,CON7FF CLEAR FLAGS S21021 57680021 ***** TEST FOR FAILING CHANNEL 57730021 STH WORK5,DSRCC STORE CUA TEMP S21021 57740021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 57750021 BNE FINDUCB NO-GO GET NEXT ONE S21021 57800021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 57810021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 57820021 BNE ACTST NO-BRANCH AROUND S21021 57870021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 57880021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 57890021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 57940021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 57950021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 57960021 ***** TEST FOR ACTIVE DEVICE 58010021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 58020021 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 58030021 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 58080021 LA WORK3,K1 SET COUNTER TO 1 S21021 58090021 B FINDUCB GET NEXT UCB ADDR S21021 58100021 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 58150021 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 58160021 B FINDUCB GET NEXT UCB ADDR S21021 58162021 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 58164021 OI SW1,HEX08 SET ILLEGAL CUA FLAG ON S21021 58166021 B FAILCCW BRANCH S21021 58168021 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 58168421 SPACE 1 58170020 ***** TEST FOR ERP IN PROGRESS S21021 58240021 SPACE 1 58310020 TM UCBACT(WORK4),X'20' TEST 12* AVAILABLE 58380020 BZ FAILCCW NO - BRANCH S21021 58450021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 58520020 TM CVTDCB,OPTION1+OPTION2 PCP OR MFT 000C 58590020 BC 7,PCPTCB YES, BRANCH 000C 58660020 L TCBREG,12(WORK4) LOAD TCB POINTER FROM 12* 000C 58730020 BC 15,FIRSTCCW BRANCH 000C 58800020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 58870020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 58940020 SR TCBREG,TCBREG CLEAR TCB REG 000D 59010020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 59080020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 59130021 L WORK5,AD0(TCBREG,WORK5) TCB POINTER 000D 59150020 SR TCBREG,TCBREG CLEAR TCBREG 000D 59220020 LA R1,FIRSTCCW OVERLAYED DATA RETURN ADDR 000D 59290020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 000D 59360020 LR TCBREG,WORK5 TCB POINTER 000D 59430020 FIRSTCCW L WORK5,IOBPTR(WORK4) IOB POINTER FROM 12* 59500020 LA R1,FAILCCW OVERLAYED DATA RETURN ADDRESS 59570020 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 59640020 TM IOBFLAG1(WORK5),IOBERR ERP IN PROGRESS 23243 59710020 BC CC8,NOERP BRANCH--NO 23243 59780020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 59850021 NOERP EQU * 23243 59920020 SPACE 1 60200020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 60270020 SPACE 1 60340020 FAILCCW L WORK5,INCSW LOAD COMMAND ADDRESS 60410020 LA WORK2,8 DECREMENT CONSTANT 60480020 SR WORK5,WORK2 DECREMENT 60550020 LA R1,IJOBNM GET POINTER S21021 60620021 BAL R3,OVERLAY CHECK FOR ADDRESS OVERLAY 60690020 CL WORK5,CVTMZ00 COMPARE FOR LEGAL ADDRESS 60760020 BC 11,IJOBNM BR-ADDR ILLEGAL S21021 60830021 MVC INCCW(M8),AD0(WORK5) MOVE CCW TO RE AREA S21021 60880021 SPACE 1 60970020 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 61040021 SPACE 1 61110020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 61180021 LA R1,SERLA GET OVERLAY RETURN ADDR S21021 61230021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 61240021 B FAILTCBA BRANCH TO COMPLETE S21021 61250021 EJECT 61460020 ***** SETUP FOR READ OF HEADER RECORD 63070020 SPACE 1 63140020 SERLA L WORK2,CVTDCB ADDRESS OF SER DCB 63210020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 63280020 L WORK1,UCBPTR(WORK6) ADDRESS OF SYS RES UCB 63350020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 63420020 N DADCUA,CON7FF AND OUT HIGH ORDER BITS 63490020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK 63560020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 63630020 MVC RDTEXT(8),RDHEADER READ HEADER CCW 63700020 BAL LINKREG,IORTN BRANCH TO READ HEADER 63770020 SPACE 1 63840020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 64050020 BC 7,LOGREC BR--HEADER INCORRECT 64120020 SPACE 1 64190020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 64260020 SPACE 1 64330020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 64400020 XR WORK4,WORK4 CLEAR REGISTER 64470020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 64540020 SLL WORK4,1 DOUBLE 64610020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 64680020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 64750021 BC 8,SER10 BR--RE TYPE IS INBOARD 64820020 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 64890020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 64960020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 65030020 BC 1,SER13 BR--RE WILL FIT ON TRACK 65100020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 65170020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 65240020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 65310021 BE SER12 YES - BRANCH S21021 65360021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 65590020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 65660020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 65730020 BC 15,SER10 BRANCH FOR ANOTHER PASS 65800020 SER12 XR WORK3,WORK3 CLEAR REGISTER 65870020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 65940020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 66010020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 66080020 BC 15,SER11 BRANCH FOR ANOTHER PASS 66150020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 66220020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 66290020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 66360020 BC 15,LOGREC BRANCH--SET UP FOR SEREP 66430020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 66500020 OI FLAGS,HDSWTCH HEAD SWITCH REQUIRED 66570020 MVC DISKSEEK(7),LASTTTR PLACE SEEK ADDR IN SEEK BUFFER 66640020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 66710020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 66780020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 66850020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 66920020 OI FLAGS,HEADEROK SET HEADER COMPLETE 66990020 SPACE 1 67060020 ***** SETUP FOR RECORD ENTRY WRITE 67130020 SPACE 1 67200020 WRITENT MVC RDTEXT(8),WRTRECCW SET UP CCW CHAIN TO WRITE RE 67270020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 67340020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 67410021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 67480020 LA WORK5,112 RE LGH FOR CCW CNT FLD S21021 67550021 LA WORK3,104 RE LGH FOR DATA CNT FLD S21021 67600021 STH WORK5,RDTEXT+6 SET COUNT IN CCW 67690020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 67760020 MDALLA BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 67830020 SPACE 1 67900020 ***** SETUP FOR END OF FILE (EOF) WRITE 67970020 SPACE 1 68040020 TM FLAGS,HDSWTCH IS HEAD SWITCHING REQUIRED 68110020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 68180020 MVC R0RDAREA+4(1),LASTTTR+6 SEARCH ARGUMENT ID 68250020 BC 15,EOFWRT 68320020 SWITCH MVI R0RDAREA+4,0 SET ID TO ZERO 68390020 MVC DISKSEEK+2(4),UPLIMIT MOVE SEEK ADDRESS TO SEEK BFR 68460020 EOFWRT MVC EOFRECRD(4),DISKSEEK+2 CCHH TO EOF RECORD 68530020 MVC RDTEXT(8),WRITEEOF SET UP CCW CHAIN FOR WRT EOF 68600020 BAL LINKREG,IORTN BRANCH--WRITE RECORD ENTRY 68670020 SPACE 1 68740020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 68810020 ***** TEST FOR 90 PERCENT FULL 68860021 NOEOF MVC CPULOG(M44),MSGAREA SAVE ERROR MESSAGE S21021 68870021 XC MSGAREA(M44),MSGAREA CLEAR MESSAGE AREA S21021 68872021 MVC MSGAREA(M29),WTO90 GET NEAR FULL MESSAGE S21021 68874021 TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 68876021 BO NOEWTST YES-BRANCH AROUND S21021 68878021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 68878421 BL NOEWTST BRANCH IF LOWER S21021 68878821 BH SETSW BRANCH IF GREATER S21021 68879221 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 68879621 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 68879721 BH NOEWTST BRANCH IF HIGHER S21021 68879821 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 68879921 ***** OUTPUT MESSAGE TO OPERATOR 68903221 MSG90 BAL LINKREG,PRINT GO PRINT MESSAGE S21021 68913221 SPACE 1 68926721 NOEWTST MVC RDTEXT(M8),WRTHEAD SET UP CCW CHAIN FOR WRT S21021 68950021 MVC MSGAREA(M44),CPULOG RESTORE ERROR MESSAGE S21021 69000021 L WORK2,CVTDCB ADDRESS OF SER DCB 69020020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 69090020 MVC DISKSEEK(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB-SEEK BFR 69160020 MVI R0RDAREA+4,1 SEARCH ID FIELD TO ONE 69230020 BAL LINKREG,IORTN BRANCH--REWRITE HEADER 69300020 MDALLB OI FLAGS,IOCMPLTE ALL I/O COMPLETE INDICATOR 69370020 EJECT 69440020 *********************************************************************** 69510020 ** ** 69580020 *** COMPLETION OF SER0 - DETERMINE PROPER MESSAGE *** 69650020 ** ** 69720020 *********************************************************************** 69790020 COMPLETE LA R0,X'F05' WAIT CODE 69860020 MVI MSGAREA+5,C'5' MESSAGE CODE 69930020 MVI MSGAREA+6,C'W' WAIT STATE INDICATION 70000020 MVC IMAGE(M14),IMAGE1 PROPER MESSAGE S21021 70070021 TM FLAGS,SECONDMC WAS THERE A SECOND MC 70140020 BC 8,SEREP BR--NO 70210020 LA R0,X'F06' WAIT CODE-SECOND MC 70280020 MVI MSGAREA+5,C'6' MESSAGE CODE 70350020 BC 15,SEREP BRANCH--END 70420020 EJECT 70490020 *********************************************************************** 70560020 ** ** 70630020 *** CHECK FOR DATA OVERLAYED BY SER0 NON-RESIDENT PORTION *** 70700020 ** ** 70770020 *********************************************************************** 70840020 OVERLAY LA WORK1,PROGEND LAST ADDRESS 70910020 LA WORK5,0(WORK5) CLEAR HIGH ORDER BYTE 70980020 CR WORK5,WORK1 DATA ADDRESS OVERLAYED 71050020 BCR 10,R3 BR--ABOVE SER0-NOT OVERLAYED 71120020 CR WORK5,RF COMPARE WITH BASE 71190020 BCR 4,R3 BR--BELOW SER0-NOT OVERLAYED 71260020 OI SW1,OVRLAY FLAG AS OVERLAYED S21021 71330021 BCR 15,R1 BRANCH--OVERLAYED RETURN 71400020 DS 0F 000C 71470020 EJECT 000C 71540020 ** 000C 71610020 * CONSTANTS 000C 71680020 ** 000C 71750020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 71820020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 71890020 CON7FF DC X'00000FFF' CUA MASK 000E 71960020 DC X'FF' KEY CONSTANT 000C 72030020 KEYCONST EQU CON7FF+3 000C 72100020 EJECT 72170020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 72240020 SPACE 2 72310020 * DAD SUBTRACTION CONSTANT TABLE 72380020 DS 0H 000C 72450020 CONRE DC AL2(393) * 2311 CPU RE SUB CONST S21021 72520021 DC AL2(449) * 2301 CPU RE SUB CONST S21021 72570021 DC AL2(424) * 2303 CPU RE SUB CONST S21021 72580021 DC AL2(393) * 2302 CPU RE SUB CONST S21021 72590021 DC AL2(416) * 2321 CPU RE SUB CONST S21021 72640021 DC XL2'0' * DUMMY 000C 72870020 DC XL2'0' * DUMMY 000C 72940020 DC AL2(431) * 2314 CPU RE SUB CONST S21021 73010021 SPACE 1 73080020 CONIO DC AL2(179) * 2311 INB RE SUB CONST S21021 73150021 DC AL2(245) * 2301 INB RE SUB CONST S21021 73200021 DC AL2(220) * 2303 INB RE SUB CONST S21021 73210021 DC AL2(179) * 2302 INB RE SUB CONST S21021 73220021 DC AL2(202) * 2321 INB RE SUB CONST S21021 73270021 DC XL2'0' * DUMMY 000C 73500020 DC XL2'0' * DUMMY 000C 73570020 DC AL2(218) * 2314 INB RE SUB CONST S21021 73640021 EJECT 000D 73710020 *** CONSTANTS / STORAGE 000D 73780020 DS 0F 000D 73850020 FOUR DC XL4'4' 000D 73920020 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 73990020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 74060020 SPACE 1 000D 74130020 DS 0F 000D 74200020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 74270020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 74340020 IORCC DC X'00' 000D 74410020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 74480020 * BIT 5 MCS ENVIRONMENT 000D 74550020 SPACE 2 000D 74620020 SPACE 2 000D 74690020 ***** ERROR TERMINATION PRINT IMAGE 000D 74760020 SPACE 2 000D 74830020 DS 0F 000D 74900020 MSGAREA DC C'IFBF07S' S21021 74970021 ERRTYPE DC CL14' ' S21021 75020021 IMAGE DC C' EXECUTE SEREP' S21021 75030021 TIMAGE DC CL10' ' S21021 75040021 IMAGE1 DC C' RELOAD OS/360' S21021 75090021 IMAGE5 DC C' CHAN ERROR.' S21021 75100021 IMAGE6 DC C' CPU ERROR.' S21021 75110021 ***** 90 PER CENT FULL MESSAGE 75160021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 75170021 TD10E5 DC F'200000' S21021 75172021 TDCNVR DC X'0249F000' S21021 75174021 TDIV DC F'10' S21021 75176021 TD12 DC F'12' S21021 75178021 TD24 DC F'24' S21021 75178421 TABLE DC C'0123456789ABCDEF' S21021 75178821 SPACE 2 000D 75180020 * EQUAL 5 -RECORDING SUCCESSFUL - NORMAL TERMINATION 000D 75250020 * EQUAL 6 -RECORDING SUCCESSFUL - SECOND MC OCCURRED 000D 75320020 * EQUAL 7 -RECORDING NOT SUCCESSFUL - ADDITIONAL MC OCCURRED000D 75390020 * EQUAL 8 -RECORDING NOT SUCCESSFUL - DUE TO I/O FAILURES 000D 75460020 * EQUAL 9 -RECORDING NOT SUCCESSFUL - SYS1.LOGREC FULL/BAD 000D 75530020 * EQUAL A -RECORDING NOT SUCCESSFUL - COULDN'T READ NON-RES 000D 75600020 EJECT 000D 75670020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 75740020 SPACE 1 000D 75810020 DS 0H 000D 75880020 LOCCONS L RE,DSECTSAV SER0 DSECT AREA 000D 75950020 L CVTREG,CVTMACRO POINTER TO CVT 000D 76020020 L WORK1,CVTCUCB ADDRESS OF CONSOLE UCM 000D 76090020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 76160020 BC CC1,CONCUA BRANCH--BYPASS 000D 76230020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 76300020 BC CC1,MCSROUT BRANCH--YES 000D 76370020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 76440020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 76510020 BC CC1,GETCUAA BRANCH--YES GET CUA 000D 76580020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 76650020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 76720020 GETCUAA EQU * 000D 76790020 BAL WORK5,GETCUA GET CUA 000D 76860020 BC CC15,CONCUA1 BRANCH 000D 76930020 SPACE 1 77000020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 77070020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 77140020 BC CC1,GETCUA1 BRANCH--YES 000D 77210020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 77280020 GETCUA1 EQU * 000D 77350020 BAL WORK5,GETCUA+AD4 GET CUA 000D 77420020 CONCUA1 EQU * 000D 77490020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 77560020 STH MSGCUA,MSTMCS SAVE CUA 000D 77630020 CUAEXIT BCR CC15,LINKREG RETURN TO MAINLINE 000D 77700020 EJECT 000D 77770020 *** GET CUA OF CONSOLE FROM UCB 000D 77840020 SPACE 1 000D 77910020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 77980020 LA WORK1,TYPEWRIT CONSOLE PRINTER 000D 78050020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 78120020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 78190020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 78260020 EJECT 000D 78330020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 78400020 ***** PRINT 90 PER CENT FULL MESSAGE 78450021 SPACE 1 000D 78470020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 78540020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 78590021 ST WORK1,AD72 STORE IN CAW 000D 78610020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 78680021 SIO AD0(MSGCUA) START I/O 000D 78750020 LA WORK1,HEXA0 COUNT S21021 78820021 SLL WORK1,K12 POSITION S21021 78870021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 78880021 BC CC8,TIOLOPA OK-BRANCH S21021 78882021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 78884021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 78886021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 78890020 BCR CC15,LINKREG RETURN 000D 78960020 EJECT 000D 79030020 SPACE 2 000D 79100020 * 000D 79170020 *** PRINT HARDCOPY ROUTINE 000D 79240020 * 000D 79310020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 79380020 LTR WORK1,WORK1 IS IT ZERO 000D 79450020 BCR 8,LINKREG RETURN 000D 79520020 ST WORK1,AD72 STORE IN CAW 000D 79590020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 79640021 SIO AD0(MSGCUA) START DEVICE S21021 79650021 LA WORK1,HEXA0 COUNT S21021 79660021 SLL WORK1,K12 POSITION S21021 79710021 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 79800020 BC CC8,FREE BRANCH--FREE 000D 79870020 BCT WORK1,PRTHC1 TRY AGAIN 000D 79940020 FREE BR LINKREG RETURN S21021 80010021 EJECT 000D 80220020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 80290020 SPACE 1 000D 80360020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 80430020 S WORK1,FOUR GET ADDRESS UCM BASE 000D 80500020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 80570020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 80640020 BC CC8,CUAEXIT YES, INVALID 000D 80710020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 80780020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 80850020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 80920020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 80990020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 81060020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 81130020 BAL RD,CHKAVAIL CONSOLE AVAILABLE P3984 81200020 SPACE 2 000D 81270020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 81340020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 81410020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 81480020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 81550020 LTR WORK2,WORK2 SYSLOG ONLY A31693 81620020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 81690020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 81760020 BAL RD,CHKAVAI CONSOLE AVAILABLE P3984 81830020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 81900020 BC CC1,CUAEXIT BRANCH--NO 000D 81970020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 82040020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 82110020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 82180020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 82250020 L WORK1,HCCCWADR CCW ADDRESS 000D 82320020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 82390020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 82460020 BC CC15,CUAEXIT EXIT 000D 82530020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 82600020 BC CC15,CUAEXIT EXIT 000D 82670020 SPACE 1 000D 82740020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 82810020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 82880020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 82950020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 83020020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 83090020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 83160020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 83230020 BC CC1,UCBADD BRANCH--YES 000D 83300020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 83370020 BC CC1,UCBADD BRANCH--YES 000D 83440020 BC CC15,CHKA BRANCH 000D 83510020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 83580020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 83650020 CHKA EQU * 000D 83720020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 83790020 BCR CC15,RD RETURN P3984 83860020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 83930020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 84000020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 84070020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 84140020 BNE UCBADD1 BRANCH --NO 000E 84210020 L WORK4,K28(WORK4) POINTER TO DCM 000E 84280020 SR PARMREG1,PARMREG1 CLEAR 000E 84350020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 84420020 L WORK1,K20(WORK4) CCW CHAIN POINTER 000E 84490020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 84560020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 84630020 AR PARMREG1,WORK1 CCW ADDRESS 000E 84700020 MVC K1(K3,PARMREG1),MSGBFRAD GET MESSAGE ADDRESS S21257 84770021 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 84840020 B SAVECCW CONTINUE 000E 84910020 UCBADD1 EQU * 000E 84980020 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 000D 85120020 BC CC7,SAVECCW BRANCH--NO 000D 85190020 LA WORK1,CCW2740 ADDRESS OF 2740 CCW 000D 85260020 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADR 000D 85330020 LR WORK1,WORK3 RESTORE WORK1 POINTWER 000D 85400020 BCR CC15,RD RETURN P3984 85470020 MSGBFRAD EQU TYPEWRIT+9 COUNT FIELD S21527 85520021 COUNT EQU TYPEWRIT+14 COUNT FIELD S21527 85530021 EJECT 85540020 * 000D 85610020 ***** R E C O R D E N T R Y B U I L D A R E A 85680020 * 85750020 DS 0F ALIGN S21021 85820021 ORG IFBSER00+3056 S21021 85870021 CTFLDID DC XL5'0' COUNT FIELD 85890020 CTFLDKEY DC X'00' KEY LENGTH S21021 85960021 CTFLDDL DC AL2(308) DATA LENGTH FOR MC RE S21021 86010021 CLASSRC DC X'19' MACHINE CHECK/SER0 S21021 86020021 SYSREL DC X'00' RELEASE NUMBER S21021 86030021 SWS DC XL6'0' SWITCHES S21021 86080021 SW0 EQU SWS S21021 86090021 SW1 EQU SWS+1 S21021 86100021 * SWITCH SETTINGS ON CPU RECORD S21021 86150021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 86160021 * BIT 1 - NS CLOCK S21021 86170021 * BIT 2 - EC MODE S21021 86220021 * BIT 3 - SPARE S21021 86230021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 86240021 * BIT 5 - SPARE S21021 86290021 * BIT 6 - SPARE S21021 86300021 * BIT 7 - SPARE S21021 86310021 * BIT 8 - SHORT RECORD S21021 86360021 * BIT 9 - RECORD INCOMPLETE S21021 86370021 * BIT 10 - SYSTEM TERMINATED S21021 86380021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 86430021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 86440021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 86450021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 86500021 * BIT 15 - SPARE S21021 86510021 REDATE DC XL4'0' DATE S21021 86520021 RETIME DC XL4'0' TIME S21021 86570021 SP1 DC X'0' NOT USED S21021 86580021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 86590021 RECPUID DC X'0075' CPUID-MOD 75 S21021 86640021 SP2 DC X'0000' SPARE S21021 86650021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 86660021 JOBNAME DC XL8'0' JOBNAME S21021 86710021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 86720021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 86730021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 86780021 GPRPAR DC X'00070000' GP REG PARITY INDICATOR S21021 86790021 DC XL4'0' S21021 86800021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 86850021 CPULOG DC 152X'00' CPU HARDWARE LOG AREA S21021 86860021 SPACE 2 86870021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 86920021 SPACE 2 86930021 * SWITCH SETTINGS FOR CHANNEL RECORD 86940021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 86990021 * BIT 1 - NS CLOCK S21021 87000021 * BIT 2 - EC MODE S21021 87010021 * BIT 3 - SPARE S21021 87060021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 87070021 * BIT 5 - SPARE S21021 87080021 * BIT 6 - SPARE S21021 87130021 * BIT 7 - SPARE S21021 87140021 * BIT 8 - MESSAGE REQUIRED S21021 87150021 * BIT 9 - RECORD INCOMPLETE S21021 87200021 * BIT 10 - SYSTEM TERMINATED S21021 87210021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 87220021 * BIT 12 - ILLEGAL CUA S21021 87270021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 87280021 * BIT 14 - ERP IN PROGRESS S21021 87290021 * BIT 15 - SPARE S21021 87340021 IJOBNAME EQU PROGID JOBNAME S21021 87350021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 87360021 INCCW EQU PROGID+24 FAILING CCW S21021 87410021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 87420021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 87430021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 87480021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 87490021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 87500021 INMP EQU PROGID+52 MP INFO S21021 87550021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 87560021 EJECT 000D 89530020 * 000D 89600020 *** HEADER RECORD FROM SYS1.LOGREC 000C 89670020 * 000C 89740020 HDRREC DS 0F S21021 89810021 DC X'FF000000',9F'0' S21021 89860021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 89870021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 89880021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 89930021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 89940021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 89950021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 90000021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 90010021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 90020021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 90070021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 90080021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 90090021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 90140021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 90150021 SPACE 2 000C 90650020 * 000C 90720020 *** PROGRAM WORK AREAS 000C 90790020 * 000C 90860020 DS 0D 000C 90930020 DSRCC DC 2F'0' WORK AREA S21021 90980021 DISKSEEK DC XL8'0' INPUT SEEK ADDRESS BBCCHHR 000C 91000020 EOFRECRD DC X'00000000FF000000' EOF RECORD AREA 000C 91070020 PGMPSW DC X'0004000000000000' PROGRAM PSW 000C 91140020 ZERO DC XL4'0' ZERO CONSTANT 000C 91210020 DSECTSAV DC XL4'0' SER AREA SAVE ADDRESS 000C 91280020 R2SAVE DC XL4'0' R2 SAVE AREA 000C 91350020 R0RDAREA DC XL5'0' RO READ AREA 000C 91420020 SENAREA DC XL3'0' SENSE AREA 000C 91490020 SPACE 1 91560020 PROGEND EQU * 91630020 SPACE 3 91700020 END 91770020 ./ ADD SSI=02013268,NAME=IFBSR140,SOURCE=0 TITLE 'IFBSR140,SER1/SYS ENVIRONMENT RECORD - MIN/INT(MOD 40)' 00060020 *STATUS: CHANGE LEVEL 0 * 00120020 *FUNCTION/OPERATION: SYSTEM ENVIRONMENT RECORDING (CORE RESIDENT). * 00180020 * THIS MODULE IS DESIGNED TO SAVE THE MACHINE ENVIRONMENT ON A * 00240020 * MACHINE CHECK OR AN I/O INBOARD ERROR. ON A MACHINE CHECK, THE * 00300020 * HARDWARE LOGOUT AND PERTINANT INFORMATION-SUCH AS GP AND FP REGS, * 00360020 * PROGRAM ID, ACTIVE I/O UNITS, ETC.- WILL BE GATHERED INTO A * 00420020 * MACHINE CHECK RECORD ENTRY AND WRITTEN ONTO THE LOGREC DATA SET. * 00480020 * ON AN I/O INBOARD ERROR, THE CHANNEL LOGOUT (IF ANY) AND PERTINANT* 00540020 * INFORMATION -SUCH AS PROGRAM ID, ACTIVE I/O UNITS, ETC. -WILL BE * 00600020 * GATHERED INTO AN I/O INBOARD RECORD ENTRY AND WRITTEN ONTO THE * 00660020 * LOGREC DATA SET. * 00720020 * THIS PROGRAM WILL GAIN CONTROL VIA THE MCI NEW PSW. IF CONTROL * 00780020 * WAS GAINED BY A MACHINE CHECK, SER1 WILL GENERATE A MACHINE CHECK * 00840020 * RECORD ENTRY. THIS RE WILL BE WRITTEN OUT ON THE LOGREC DATA SET * 00900020 * FOR LATER EDITING. IF CONTROL WAS GAINED VIA IOS, AN I-O INBOARD * 00960020 * RECORD ENTRY WILL BE GENERATED. THIS WILL BE WRITTEN ON THE * 01020020 * LOGREC DATA SET. ALL WRITING AND READING FROM THE DATA SET * 01080020 * WILL BE DONE USING EXCP. * 01140020 *ENTRY POINTS: SER1 CAN BE ENTERED ONLY THROUGH THE MCI NEW PSW. * 01200020 * BYTE 50 OF THE MCI OLD PSW WILL BE SET TO AN X'FF' BY NIP. IF * 01260020 * A MACHINE CHECK OCCURS, BYTE 50 WILL BE ALTERED TO REFLECT BYTE * 01320020 * 3 OF THE MCI OLD PSW. IF AN I-O CHANNEL ERROR OCCURS, IOS WILL * 01380020 * ENTER SER1 BY EXECUTING A LPSW FROM THE MCI NEW PSW. IN THIS * 01440020 * CASE, BYTE 50 WILL STILL CONTAIN A X'FF'. SER1 WILL CHECK BYTE * 01500020 * 50 TO DETERMINE WHETHER A MACHINE CHECK OR AN I-O INBOARD RECORD * 01560020 * ENTRY IS TO BE GENERATED. * 01620020 *INPUT: THE ONLY INPUT USED BY SER1 IS THE CPU LOG, THE CHANNEL LOG * 01680020 * AND BYTE 50. * 01740020 *OUTPUT: SER1 WILL WRITE THE RECORD ENTRY ON SYSTEM RESIDENCE, IN THE * 01800020 * LOGREC DATA SET. IF SER1 IS GOING TO ABORT THE SYSTEM, IT WILL * 01860020 * TYPE A MESSAGE ON THE PRIMARY OUTPUT DEVICE (USING AN INTERNAL * 01920020 * PRINT ROUTINE). * 01980020 *EXTERNAL ROUTINES: * 02040020 * EXCP--USED FOR READING AND WRITING ON LOGREC DATA SET * 02100020 * IEABTERM-USED TO TERMINATE PROBLEM PROGRAM TASK * 02160020 * PURGE--USED TO HALT I/O ON THE TASK TO BE TERMINATED 02220020 *EXITS-NORMAL: SER1 WILL ENTER ABTERM(IEABTERM) IF THE MACHINE CHECK * 02280020 * OCCURRED WITHIN A PROBLEM PROGRAM, OR WITHIN THE SUPERVISOR STATE * 02340020 * WITH ALL CHANNELS ENABLED AND NO BAD PARITY STORED IN THE SUPER- * 02400020 * VISOR. IN THIS CASE, SER1 WILL PASS A COMPLETION CODE OF * 02460020 * TO ABTERM, AND SET THE RETURN ADDRESS TO THE DISPATCHER(IEAOOS). * 02520020 *EXITS-ERROR: IF SER1 IS ENTERED TO RECORD AN I-O INBOARD FAILURE, * 02580020 * OR AN UNRECOVERABLE MACHINE CHECK OCCURRED, SER1 WILL ENTER THE * 02640020 * WAIT STATE AFTER RECORDING THE RECORD ENTRY. PRIOR TO ENTERING * 02700020 * THE WAIT STATE, SER1 WILL TYPE AN ERROR MESSAGE ON THE PRIMARY * 02760020 * OUTPUT DEVICE. * 02820020 *TABLES/WORK AREAS: NA * 02880020 *ATTRIBUTES: * 02940020 * 1. REUSABLE * 03000020 *NOTES: * 03060020 * SER1 USES EXCP TO READ FROM AND WRITE ONTO THE LOGREC DATA SET. * 03120020 * THE DCB AND DEB USED ARE SET UP BY NIP. WHEN SER1 CANNOT ABTERM * 03180020 * THE CURRENT TASK, IT WILL ENTER THE WAIT STATE. OS/360 MUST BE * 03240020 * RELOADED-IT CANNOT CONTINUE. * 03300020 * * 03320021 * PUBLICATIONS: MFT SUPERVISOR GY27-7236 * 03340021 EJECT 03360020 * HEADER RECORD AREA * 03410021 * ***************************************************************** 03412021 * * * * HIGH * 03414021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 03416021 * * * (CCHH) * (CC) * 03418021 * ***************************************************************** 03418421 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 03418821 * +8 * (CONT.) * * (BBCCHHR) * 03419221 * * (HH) * * * 03419621 * ***************************************************************** 03419721 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 03419821 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 03419921 * * (CONT.) * TRACK * TRACK * WRITTEN * 03439921 * ***************************************************************** 03449921 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 03459921 * +24 * WRITTEN (CONT.) * PER * WARN. * 03466621 * * * CYLINDER * CNT. * 03468621 * ***************************************************************** 03470621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 03472621 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 03473021 * * CNT. * CODE * * SWT. * (FF) * 03473121 * ***************************************************************** 03473221 EJECT 03489921 * CPU RECORD ENTRY AREA * 03506621 * ***************************************************************** 03523321 * * CLASS * SYS- * * * 03540021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 03590021 * * * RLSE. * * * 03600021 * ***************************************************************** 03720020 * * * * 03780020 * +8 * DATE * TIME * 03840020 * * * * 03900020 * ***************************************************************** 03960020 * * * * * * 04020021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 04070021 * * * * * * 04080021 * ***************************************************************** 04130021 * * * 04140021 * +24 * PROGRAM IDENTITY * 04190021 * * * 04200021 * ***************************************************************** 04250021 * * * 04260021 * +32 * JOB IDENTITY * 04310021 * * * 04320021 * ***************************************************************** 04370021 * * * 04380021 * +40 * MACHINE CHECK OLD PSW * 04430021 * * * 04440021 * ***************************************************************** 04490021 * * * 04500021 * +48 * VARIABLE LOGOUT FIELD * 04550021 * * * 04560021 * ***************************************************************** 04610021 * * * 04620021 * * MCH * 04670021 * * DAMAGE ASSESSMENT * 04680021 * * * 04730021 * ***************************************************************** 04740021 EJECT 000C 06660020 SPACE 3 06720020 * INBOARD RECORD ENTRY AREA * 06780020 * ***************************************************************** 06840020 * * CLASS * SYS- * * * 06900021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06950021 * * * RLSE. * * * 06960021 * ***************************************************************** 07080020 * * * * 07140020 * +8 * DATE * TIME * 07200020 * * * * 07260020 * ***************************************************************** 07320020 * * * * * * 07380021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 07430021 * * * * * * 07440021 * ***************************************************************** 07490021 * * * 07500021 * +24 * JOB IDENTITY * 07550021 * * * 07560021 * ***************************************************************** 07610021 * * * 07620021 * +32 * ACTIVE I/O UNITS * 07670021 * * * 07680021 * ***************************************************************** 07730021 * * * 07740021 * +48 * FAILING CCW * 07790021 * * * 07800021 * ***************************************************************** 07850021 * * * 07860021 * +56 * CSW * 07910021 * * * 07920021 * ***************************************************************** 07970021 * * * * 07980021 * +64 * ECSW * DEVICE TYPE * 08030021 * * * * 08040021 * ***************************************************************** 08090021 * * CHAN. * * * 08100021 * +72 * IDENT * CUA * MP INFO * 08150021 * * * * 08160021 * ***************************************************************** 08210021 * * MACHINE DEPENDENT * 08220021 * +80 * CHANNEL * 08270021 * * LOG * 08280021 * ***************************************************************** 08330021 EJECT 09540020 R0 EQU 0 09600020 R1 EQU 1 09660020 R2 EQU 2 09720020 R3 EQU 3 09780020 R4 EQU 4 09840020 R5 EQU 5 09900020 R6 EQU 6 09960020 R7 EQU 7 10020020 R8 EQU 8 10080020 R9 EQU 9 10140020 RA EQU 10 10200020 RB EQU 11 10260020 RC EQU 12 10320020 RD EQU 13 10380020 RE EQU 14 10440020 RF EQU 15 10500020 SPACE 1 10560020 PARMREG0 EQU 5 PARAMETER REGISTER 10620020 PARMREG1 EQU 1 PARAMETER REGISTER 10680020 WORK1 EQU 2 WORK REGISTER 10740020 WORK2 EQU 3 WORK REGISTER 10800020 WORK3 EQU 4 WORK REGISTER 10860020 WORK4 EQU 5 WORK REGISTER 10920020 WORK6 EQU 7 WORK REGISTER 10980020 WORK5 EQU 6 WORK REGISTER 11040020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 11100020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 11160020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 11220020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 11280020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 11340020 SPACE 1 11400020 ENTRY IFBINIT 000C 11460020 EJECT 11520020 NOTDISP EQU 32 11580020 NOTDISB EQU 33 TCB NOT DISPATCHABLE 000D 11640020 NOTDEXT EQU 173 TCB NOT DISPATCHABLE EXTENSION 000D 11700020 NOTDGEN EQU X'01' GENERAL NOT DISPATCH BIT 000D 11760020 NOTDSER EQU X'20' SER TEMP NOT DISPATCH BIT 000D 11820020 NXTTCBP EQU 116 11880020 ACTTCB EQU 4 11940020 UCBACT EQU 6 12000020 IOBPTR EQU 4 12060020 STARTADR EQU 16 12120020 UCBCUA EQU 4 12180020 BASESAVE EQU 372 BASE REGISTER SAVE AREA 12240020 HDWECSW EQU 64 12300020 HDWECUA EQU 58 12360020 SPACE 1 12420020 SHPC EQU 0 12480020 T4PC EQU 4 12540020 LTPC EQU 8 12600020 SPACE 1 12660020 TOPRBP EQU 0 12720020 SPACE 1 12780020 INTCEPT EQU X'44' IOS INTERCEPT CODE IN ECB 12840020 NORMAL EQU X'7F' COMPLETE CODE IN ECB 12900020 EXTENTNG EQU X'42' OUTSIDE EXTENT CODE IN ECB 12960020 SPACE 1 13020020 STANDIO EQU X'40' STANDALONE I/O BEING UTILIZED 13080020 IOCMPLTE EQU X'20' I/O OPERATION COMPLETE SWITCH 13140020 HEADEROK EQU X'10' HEADER READ AND UPDATED OK 13200020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 13260020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 13320020 HEX0 EQU X'00' S21021 13370021 HEX01 EQU X'01' S21021 13372021 HEX08 EQU X'08' S21021 13374021 HEX0F EQU X'0F' S21021 13376021 HEX16 EQU 16 S21021 13378021 HEX20 EQU X'20' 000E 13380020 HEX29 EQU 29 000E 13440020 HEX32 EQU X'32' 000E 13500020 HEX40 EQU X'40' 000E 13560020 HEX7F EQU X'7F' 000E 13620020 HEX80 EQU X'80' 000E 13680020 HEXBF EQU X'BF' 000E 13740020 HEXC0 EQU X'C0' S21014 13790021 HEXEF EQU X'EF' S21021 13792021 HEXFF EQU X'FF' 000E 13800020 LOC40 EQU 40 S21014 13850021 LOC43 EQU 43 S21014 13852021 LOC104 EQU 104 000E 13860020 LOC116 EQU 116 000E 13920020 CE EQU C'E' 000E 13980020 SPACE 1 14040020 DCBF0 EQU 44 14100020 DEBF2 EQU 32 14160020 DEBF4 EQU 36 14220020 UCBF3B EQU 19 DEVICE TYPE ENTRY 14280020 UCBF12 EQU 20 14340020 EXCP EQU 0 14400020 TCBTCB EQU 116 NEXT LOWER PRIORITY TCB 000E 14460020 PURGE EQU 16 SVC PURGE 000E 14520020 WTO EQU 35 SVC WTO 000E 14580020 TCBMSS EQU 24 14640020 LOWBTASK EQU 4 14700020 HIBTASK EQU 8 14760020 CPUSER1 EQU X'18' MCH RECORDING S21021 14810021 INBSER1 EQU X'28' CLASS AND SOURCE RECORD S21021 14812021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 14814021 SPACE 1 14820020 OPTION1 EQU 64 14880020 SPACE 1 14940020 OBRINPGR EQU X'08' 15000020 OBRPR EQU 299 OBR/SDR IN PRG IND OFFSET FROM SER DCB MFT/MVT 000C 15060020 SPACE 1 15120020 UCMUCB EQU 12 UCM POINTER TO UCB 15180020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 15240020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 15300021 UCMOF EQU 128 WTO SUPPORT (UCM) 15360020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 15420020 SPACE 1 15480020 DEBPT EQU 8 15540020 RDSAVE EQU 376 15600020 UCBPTR EQU 32 15660020 DEBAD EQU 44 15720020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 15780020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 15840020 SPACE 1 15900020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 15960020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 16020020 UCBTYPE EQU 16 S21021 16070021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000D 16080020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 16140020 UCMMODE EQU X'44' UCM FLAGS A47227 16200021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 16260020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 16320020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 16380020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 16440020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 16500020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 16560020 UCMHRDT EQU X'40' UCM HARD COPY 000D 16620020 UCMSTS EQU 24 000D 16680020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 16740020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 16800020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 16860020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 16920020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 16980020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000D 17040020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 17100020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 17160020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 17220020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 17280020 RQEAV EQU X'20' 000D 17340020 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 17400020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 17460021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 17510021 IOBERR EQU X'20' IOB ERP INDICATOR 23243 17520020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 17580020 EJECT 17640020 * EQUATES USED FOR CONDITION CODES 17700020 CC1 EQU 1 000D 17760020 CC6 EQU 6 000D 17820020 CC7 EQU 7 000D 17880020 CC8 EQU 8 000D 17940020 CC9 EQU 9 000D 18000020 CC15 EQU 15 000D 18060020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 18120020 AD0 EQU 0 000D 18180020 AD1 EQU 1 000D 18240020 AD2 EQU 2 S21021 18290021 AD3 EQU 3 S21021 18292021 AD4 EQU 4 000D 18300020 AD5 EQU 5 000D 18360020 AD6 EQU 6 000D 18420020 AD8 EQU 8 000D 18480020 AD9 EQU 9 S21021 18530021 AD12 EQU 12 000E 18540020 AD16 EQU 16 000E 18600020 AD20 EQU 20 000E 18660020 AD56 EQU 56 000D 18720020 AD72 EQU 72 000D 18780020 AD80 EQU 80 A38648 18810021 AD124 EQU 124 000D 18840020 * EQUATES USED FOR CONSTANTS 18900020 K2 EQU 2 000D 18960020 K4 EQU 4 000D 19020020 K5 EQU 5 000D 19080020 K8 EQU 8 000E 19140020 K9 EQU 9 S21021 19190021 K10 EQU 10 000D 19200020 K12 EQU 12 S21021 19250021 KFF EQU X'FF' 000D 19260020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 19320020 M1 EQU 1 S21021 19370021 M2 EQU 2 000D 19380020 M3 EQU 3 000D 19440020 M4 EQU 4 S21021 19490021 M6 EQU 6 000D 19500020 M7 EQU 7 S21021 19550021 M8 EQU 8 000E 19560020 M12 EQU 12 000D 19620020 M14 EQU 14 000D 19680020 M36 EQU 36 000D 19740020 M23 EQU 23 S21021 19790021 M29 EQU 29 S21021 19792021 M44 EQU 44 S21021 19794021 M56 EQU 56 S21021 19796021 K1 EQU 1 000E 19800020 K3 EQU 3 000E 19860020 K6 EQU 6 000E 19920020 K20 EQU 20 000E 19980020 K28 EQU 28 000E 20040020 SPACE 1 20100020 EJECT 20160020 IFBSER1 CSECT 20220020 *0121 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 20280021 *0277 035400-036600,040200-066000,069000-070200,073800-094800, S21021 20330021 * 174600,227400,230400,234000,241200,247200,249000,255600, S21021 20340021 * 258000-272400,274800,277200,284400-288000,290400-291000, S21021 20390021 * 362400-369000,372000,378000,379200-379800,382200,384600, S21021 20400021 * 385800,387000-389400,436200-436800,464400,477600,483600, S21021 20450021 * 501600-502200,506400-508200,527400,528600-529200,542400, S21021 20460021 * 543600,558600,583800,664200,671400,678600,689400-693600, S21021 20510021 * 709200,712800-715200,717000,718200-720600,722400,730800, S21021 20520021 * 732000-762000,767400,769200,774600,815400,823200,826200, S21021 20570021 * 827400 S21021 20580021 * 920400 A36397 20630021 USING CVTDSECT,CVTREG 21600020 CVTDSECT DSECT 21660020 EQUATE CVT SYS=MIN 21720020 IFBSER1 CSECT 21780020 EJECT 21840020 *********************************************************************** 21900020 *** *** 21960020 ***** INITIAL ENTRY POINT FROM NEW MACHINE CHECK PSW ***** 22020020 *** *** 22080020 *********************************************************************** 22140020 USING *,RD 22200020 IEAMCH00 DS 0C 22260020 IEAMCH ST RD,RDSAVE SAVE REGISTER IN LOWER CORE 22320020 L RD,116 SET BASE REG FROM MCI NEW PSW 22380020 SPACE 1 22440020 OI 105,X'02' SET WAIT BIT IN PI NEW PSW 22500020 ST RD,BASESAVE SAVE BASE REGISTER 22560020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 22610021 TM 50,X'FF' TEST FOR CHANN TYPE ENTRY 22620020 BC 14,STARTC BRANCH--NOT CHANNEL TYPE 22680020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 22740021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 22790021 BC 15,STARTB 22800020 STARTC MVC CPULOG(256),128 MOVE LOGOUT TO RE AREA 22860020 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CPU ERROR S21021 22910021 MVC MCIOPSW(8),48 SAVE MCI OLD PSW IN RE AREA 22920020 MVC EOFRECRD+2(2),114 SAVE INTERRUPT CODE FIELD-EOF 22980020 STARTB OI SW1,RECINC SET INCOMP RECORD IND S21021 23040021 MVC 112(8),DSRCA SETUP NEW MACHINE CHECK PSW 23100020 LPSW DSRCA ENABLE MCI'S 23160020 SERB MVC 112(8),SERCA SETUP NEW MACHINE CHECK PSW 23220020 MVC SESCE(8),104 SAVE NEW PROG INT PSW 23280020 MVC LOC104(K8),SERCB SET NEW PRGM CHK PTR A 000E 23340020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 23400021 BC 8,SERP BRANCH--CHANNEL CHECK RECORDING 23460020 LA LINKREG,SERP SET PCI RTN TO SERP A 000E 23520020 SPACE 1 23580020 STM R0,RF,GPREGS SAVE GP REGISTERS IN RE AREA 23640020 MVC GPREGS+52(4),RDSAVE MOVE REGISTER 13 TO RE AREA 23700020 SPACE 1 23760020 STD R0,FPREGS STORE FP REG 0 IN RE 23820020 STD R2,FPREGS+8 STORE FP REG 2 IN RE 23880020 STD R4,FPREGS+16 STORE FP REG 4 IN RE 23940020 STD R6,FPREGS+24 STORE FP REG 6 IN RE 24000020 EJECT 24060020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 24120021 SPACE 1 24180020 SERP LA LINKREG,SERH SET PCI RTN PTR TO SERH A 000E 24240020 L CVTREG,INTCVTPT GET ADR COM VCTR TABLE A 000E 24300020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 24350021 S WORK1,FOUR GET NEG OFFSET S21021 24352021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 24354021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 24356021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 24358021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 24358421 STC WORK1,SYSREL PUT IN RECORD S21021 24358821 MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY AREA 24360020 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 24420020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 24480020 ST TCBREG,PURGPARM+4 STORE TCB ADDR IN PURGE LIST 24540020 SPACE 1 24600020 ***** COMPUTE LOCAL TIME OF DAY FOR RECORD ENTRY 24660020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 24720021 SPACE 1 24770021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 24772021 XR WORK1,WORK1 CLEAR REGISTER 24780020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 24840020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 24900021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 24960020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 25020020 L WORK3,80 LOAD HARDWARE TIMER 25080020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 25140020 SLR WORK2,WORK3 SUBTRACT TIMER 25200020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 25260020 BC 3,TADJUST BRANCH ON OVERFLOW 25320020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 25380020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 25440020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 25500020 SRL R3,1 CONVERT TO BIN S21021 25560021 M R2,TD10E5 S21021 25610021 D R2,TDCNVR S21021 25612021 LA R1,32 INITIALIZE LOOP S21021 25614021 L R6,TDIV INITIALIZE REG. S21021 25616021 TDVD SR R2,R2 CLEAR REG S21021 25618021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 25618421 LR R4,R2 S21021 25618821 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 25619221 SH R1,*-2 DECREMENT BY 4 S21021 25619621 LTR R3,R3 IS DIVIDEND 0 S21021 25619721 BZ TDENDCNV YES-BRANCH S21021 25619821 C R1,TD24 IS COUNT =24 S21021 25619921 BNL TDVD BRANCH IF NOT S21021 25639921 X R6,TD12 ALT. DIVISION S21021 25649921 B TDVD S21021 25659921 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 25666621 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 25668621 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 25670621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 25672621 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 25673021 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 25673121 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 25673221 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 25689921 MVI TIMAGE,C',' SET COMMA S21021 25699921 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 25701921 SPACE 1 25706621 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE ROUTINE 25723321 SPACE 1 25740020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 25800021 BE CSERB YES - BRANCH S21021 25850021 EJECT 27300020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 27360020 SPACE 1 27420020 SERG LA LINKREG,FAILTCB SET PCI RTN PTR S21021 27480021 L WORK1,TOPRBP(TCBREG) GET ADDR OF TOP RB A 000E 27540020 XR WORK2,WORK2 CLEAR REGISTER 27600020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 27660020 BE FAILTCB BRANCH IF ILLEGAL S21021 27720021 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 27780020 BC 7,*+6 BR--RB IS NOT A PRB 27840020 LR WORK2,WORK1 SAVE PRB ADDRESS 27900020 MVI RBLINK(WORK1),0 CLEAR RB WAIT COUNT 27960020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 28020020 BC 1,ENDRBLST BR--END OF RB LIST 28080020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 28140020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 28200020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 28260020 BC 8,FAILTCB BRANCH TO LOAD JOB NAME 000C 28320020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE AREA 28380020 ***** GET JOBNAME IN PROPER AREA 28440021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 28490021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 28500021 EJECT 28860020 ***** DETERMINE STATE OF SYSTEM AT INTERRUPT TIME 28920020 SPACE 1 28980020 TM MCIOPSW,HEXFF IS SYSTEM DISABLED 000E 29160020 BNO SERLI YES LOAD A WAIT STATE 000E 29220020 L WORK3,CVTCUCB GET UCM ADDRESS A44512 29230021 C TCBREG,HEX40(WORK3) IS IT COMTASK A44512 29240021 BE SERLI YES-LOAD WAIT STATE A44512 29250021 TM CPULOG+156,6 MPX CHANN CCK OR ICC 29280020 BC 7,SERLK BR--MPX CHANNEL RESET 29340020 TM CPULOG+160,6 SEL CHANN 1 CCK OR ICC 29400020 BC 7,SERLK BR--SELECTOR CHANNEL 1 RESET 29460020 TM CPULOG+164,6 SEL CHANN 2 CCK OR ICC 29520020 BC 7,SERLK BR--SELECTOR CHANNEL 2 RESET 29580020 TM CVTDCB,OPTION1 PCP SYSTEM 000C 29640020 BC 1,OBRPCP YES, BRANCH 000C 29700020 L WORK3,CVTDCB ADDRESS OF SER DCB 000C 29760020 TM OBRPR(WORK3),OBRINPGR TEST IF OBR/SDR IN PROGRESS000C 29820020 BC 15,OBRPCP+4 BRANCH 000C 29880020 OBRPCP TM EOFRECRD+2,OBRINPGR TEST IF OBR/SDR IN PRG/PCP 000C 29940020 BE OBRPCPA C 000E 30000020 OI IORCD,HEX40 SET OBR/SDR IN PROGRESS C 000E 30060020 OBRPCPA EQU * C 000E 30120020 SPACE 1 30180020 ***** CHECK FOR POTENTIAL PARITY CORRECTION IN NUCLEUS 30240020 SPACE 1 30300020 TM CPULOG+32,128 D1 PTY CHK-DATA REG PARITY ERR 30360020 BC 1,NUCCHK2 BR--CHECK IF ERROR IN NUCLEUS 30420020 L R7,CPULOG+32 CHECK D0 PTY CHK BIT HIDDEN IN LOG 30480020 LA R5,8 PARITY THIS SEQUENCE OF INSTRUCTIONS 30540020 XR R4,R4 OF WILL DETERMINE IF IT IS A ONE 30600020 NUCCHK XR R6,R6 ONE OR ZERO. 30660020 SLDL R6,1 BYTE IF PARITY CHECK D0 PTY 30720020 XR R4,R6 BIT BIT CHK BIT 30780020 BCT R5,NUCCHK 1 0 1 30840020 BC 8,NUCCHK1 1 1 0 30900020 TM CPULOG+35,2 PAR BIT 0 0 0 0 30960020 BC 1,NUCCHK2 CHK BIT 1 0 1 1 31020020 BC 15,PTYCHK CHK BIT 0 31080020 SPACE 1 31140020 NUCCHK1 TM CPULOG+35,2 PAR BIT 1 31200020 BC 1,PTYCHK CHK BIT 1 31260020 SPACE 1 31320020 NUCCHK2 XR R6,R6 CLEAR REGISTER 31380020 IC R6,CPULOG+14 AX FIELD 31440020 SLL R6,16 POSITION 31500020 L R7,CPULOG+12 A0 AND A1 FIELDS 31560020 SRL R7,16 POSITION 31620020 OR R7,R6 COMBINE TO GET STORAGE ADDRESS 31680020 CL R7,CVTNUCB HIGHEST ADDR NOT IN NUCLEUS 31740020 BNL PTYCHK NOT IN NUCLEUS A 000E 31800020 B SERLI LOAD A WAIT STATE LG A 000E 31860020 EJECT 31920020 **************************************************************** B 000E 31980020 **************************************************************** B 000E 32040020 * B 000E 32100020 * B 000E 32160020 * TEST THE NUCLEUS FOR BAD PARITY B 000E 32220020 * B 000E 32280020 PTYCHK LA WORK1,PTYCHK2 SET UP LOAD PSW ! 000E 32340020 ST WORK1,MSCHKPSW+AD4 B 000E 32400020 LA WORK1,PTYCHK5 SET UP NEW MC PSW B 000E 32460020 ST WORK1,LOC116 IN LOW CORE B 000E 32520020 SR WORK1,WORK1 GET START ADDR B 000E 32580020 PTYCHK1 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 32640020 PTYCHK2 LA WORK1,AD16(WORK1) UP POINTER BY 16 B 000E 32700020 CL WORK1,CVTNUCB ARE WE AT END OF NUC B 000E 32760020 BL PTYCHK1 NO LOOP ON B 000E 32820020 TM IORCD,HEX20 YES ANY ERRORS B 000E 32880020 BO SERLI YES LOAD A WAIT STATE B 000E 32940020 * B 000E 33000020 * B 000E 33060020 **************************************************************** B 000E 33120020 **************************************************************** B 000E 33180020 * B 000E 33240020 * B 000E 33300020 * B 000E 33360020 * TEST THE CURRENT TCB'S REGION OR PARTITION B 000E 33420020 * B 000E 33480020 LA WORK1,PTYCHK4 SET UP LOAD PSW AGAIN B 000E 33540020 ST WORK1,MSCHKPSW+AD4 B 000E 33600020 LA WORK1,PTYCHK6 SET UP NEW MC PSW B 000E 33660020 ST WORK1,LOC116 B 000E 33720020 * THE FOLLOWING TEST IS TO HANDLE WAIT SHATE MACHINE CHECKS 33730021 C TCBREG,AD0(TCBREG) TEST FOR WAIT TCB A56526 33740021 BE PTYCHK4A YES-BRANCH AROUND A56526 33750021 L WORK1,TCBMSS(TCBREG) FIND BOUNDARIES B 000E 33780020 L WORK6,HIBTASK(WORK1) POINTER TO HI BOUND B 000E 33840020 L WORK1,LOWBTASK(WORK1) POINTER TO LOW BOUND B 000E 33900020 ST WORK6,CHKTCB1 SAVE IT FOR COMPARE B 000E 33960020 SR WORK6,WORK6 CORRECTON FACTOR B 000E 34020020 PTYCHK3 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 34080020 PTYCHK4 LA WORK1,AD16(WORK1) BUMP ADDRESS BY 16 B 000E 34140020 CL WORK1,CHKTCB1 ARE WE DONE WITH REGION B 000E 34200020 BL PTYCHK3 NO LOOP BACK FOR MORE B 000E 34260020 PTYCHK4A MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH PSW A56526 34320021 B SYSTEMIO ALL DON E GO ON TO ABEND B 000E 34380020 * B 000E 34440020 PTYCHK5 OI IORCD,HEX20 TURN ON ERROR IN NUC B 000E 34500020 L WORK1,CVTNUCB SET WORK1 TO STOP TST B 000E 34560020 MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH CHK PSW B 000E 34620020 B PTYCHK7 LOAD PSW AND GO ON B 000E 34680020 * B 000E 34740020 PTYCHK6 AR WORK2,WORK6 ADD ZERO TO RESET PARITY B 000E 34800020 AR WORK3,WORK6 ADD ZERO TO RESET PARITY B 000E 34860020 AR WORK4,WORK6 ADD ZERO TO RESET PARITY B 000E 34920020 AR WORK5,WORK6 ADD ZERO TO RESET PARITY B 000E 34980020 STM WORK2,WORK5,AD0(WORK1) STOW BACK CORRECTS PRTY B 000E 35040020 PTYCHK7 LPSW MSCHKPSW GO ON TESTING B 000E 35100020 * B 000E 35160020 * B 000E 35220020 **************************************************************** B 000E 35280020 SPACE 3 35330021 *********************************************************************** 35332021 RECOMP L WORK3,K12(TCBREG) LOAD ADDR OF TIOT S21021 35334021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 35336021 TM IORCD,HEX80 TEST FOR PCI ERRORS S21021 35338021 BO RECOMPA YES-BRANCH S21021 35338421 NI SW1,HEXFF-RECINC CLEAR RECORD INCOMP S21021 35338821 RECOMPA NI IORCD,HEX7F CLEAR PCI ERR IND S21021 35339221 MVI PCICOUNT+AD1,K1 SET COUNTER TO ONE S21014 35339621 CVTGTF EQU EQUATE+236 *** TO BE REMOVED WHEN GTF ***S21014 35339721 * *** POINTER IS AVAILABLE ***S21014 35339821 BR LINKREG RETURN S21021 35339921 *********************************************************************** 35359921 EJECT 35380021 *********************************************************************** 35400020 * * 35460020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 35520020 * * 35580020 *********************************************************************** 35640020 SPACE 1 35700020 ***** MOVE CSW AND CUA INTO RECORD ENTRY AREA 35760020 SPACE 1 35820020 CSERB LA LINKREG,FAILCCW SET PCI RTN TO FAILCCW A 000E 35880020 MVC INCSW(K8),HDWECSW MOVE CSW RO RE AREA A 000E 35940020 LH WORK2,HDWECUA LOAD CUA FROM I/O OLD PSW 36000020 STH WORK2,INCUA STORE CUA INTO RECORD ENTRY 36060020 * GET CHANNEL IDENTITY 36110021 SR WORK1,WORK1 CLEAR REG S21021 36112021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 36114021 SRL WORK3,K9 GET CHAN/2 S21021 36116021 L WORK5,CHCONFIG GET ADDR OF CHAN TABLE S21021 36118021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 36118421 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 36118821 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 36119221 TM HDWECUA,HEX01 TEST FOR ODD CHAN ADDR S21021 36119621 BO ODDADR BRANCH IF ODD S21021 36119721 * EVEN ADDRESS 36119821 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 36119921 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 36139921 * GET CHANNEL ADDRESS FOR MESSAGE 36149921 ODDADR MVC ERRTYPE+K6(M1),HDWECUA MOVE NUMERIC PORTION S21021 36159921 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 36166621 SPACE 1 36173321 ***** LOCATE UCB AND LAST REQUEST ELEMENT 36180020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 36240021 STH WORK2,INACTIO STORE CUA S21021 36290021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 36300021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 36350021 LA WORK3,K8 GET COUNT S21021 36360021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 36410021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 36420021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 36470021 BC 4,LKUPEND END OF LOOKUP S21021 36480021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 36530021 ***** GET CUA AND COMPARE 36540021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 36590021 N WORK5,CON7FF CLEAR FLAGS S21021 36600021 ***** TEST FOR FAILING CHANNEL 36650021 STH WORK5,DSRCC STORE CUA TEMP S21021 36660021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 36710021 BNE FINDUCB NO-GO GET NEXT ONE S21021 36720021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 36770021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 36780021 BNE ACTST NO-BRANCH AROUND S21021 36830021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 36840021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 36890021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 36900021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 36950021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 36952021 ***** TEST FOR ACTIVE DEVICE 36954021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 36956021 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 36958021 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 36958421 LA WORK3,K1 SET COUNTER TO 1 S21021 36958821 B FINDUCB GET NEXT UCB ADDR S21021 36959221 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 36959621 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 36959721 B FINDUCB GET NEXT UCB ADDR S21021 36959821 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 36959921 OI SW1,HEX80 SET ILLEGAL CUA FLAG ON S21021 36979921 OI IORCD,HEX80 SET RECORD INCOMPLETE 36989921 B FAILCCW BRANCH S21021 36999921 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 37006621 SPACE 1 37013321 ***** TEST FOR ERP IN PROGRESS S21021 37020021 SPACE 1 37080020 TM UCBACT(WORK4),RQEAV TEST FOR 12* AVAILABLE 000D 37140020 BZ FAILCCW NO - BRANCH S21021 37200021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 37260020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 37320020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 37380020 SR TCBREG,TCBREG CLEAR TCB REG 000D 37440020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 37500020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 37550021 L TCBREG,AD0(TCBREG,WORK5) TCB POINTER 000D 37560020 L WORK4,IOBPTR(WORK4) LOAD IOB POINTER FROM 12* 37620020 TM IOBFLAG1(WORK4),IOBERR ERP IN PROGRESS 23243 37680020 BC CC8,NOERP BRANCH--NO 23243 37740020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 37800021 NOERP EQU * 23243 37860020 SPACE 1 38040020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 38100020 SPACE 1 38160020 FAILCCW LA LINKREG,IJOBNM SET PCI RTN PTR S21021 38220021 L WORK1,HDWECSW LOAD COMM ADDR FROM CSW A 000E 38280020 LA WORK2,8 DECREMENT CONSTANT 38340020 SR WORK1,WORK2 DECREMENT COMMAND ADDRESS 38400020 MVC INCCW(M8),AD0(WORK1) MOVE CCW TO RE AREA S21021 38460021 SPACE 1 38520020 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 38580021 SPACE 1 38640020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 38700021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 38750021 B SERLI BRANCH TO COMPLETE S21021 38760021 SPACE 1 38810021 **** SAVE ERROR MESSAGE 38820021 SAVEMSG MVC CPULOG(M44),PRTIMAGE SAVE ERROR MESSAGE S21021 38870021 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 38880021 MVC PRTIMAGE(M29),WTO90 GET NEAR FULL MESSAGE S21021 38930021 BR LINKREG RETURN S21021 38940021 EJECT 39000020 *********************************************************************** 39060020 *** *** 39120020 * SETUP PRIOR TO USING SYSTEM FUNCTIONS * 39180020 *** *** 39240020 *********************************************************************** 39300020 SPACE 1 39360020 ***** SET TASKS NON DISPATCHABLE 39420020 SPACE 1 39480020 SYSTEMIO TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 39540020 BC 1,SYSIO1 YES - BYPASS 39600020 L WORK4,CVTHEAD HIGHEST PRIORITY TCB 39660020 B TCBNDAB SKIP MARKING HI TCB 000E 39720020 SYSIO EQU * 000D 39780020 TCBNDA OI NOTDISB(WORK4),NOTDGEN NOT DISP EXT FLD BEING USED000D 39840020 OI NOTDEXT(WORK4),NOTDSER SER TEMP NOT DISP 000D 39900020 TCBNDAB EQU * 000E 39960020 L WORK4,116(WORK4) NEXT TCB - LOWER PRIORITY 40020020 LTR WORK4,WORK4 LAST TCB 40080020 BC 7,SYSIO NO - CONTINUE 40140020 XC NOTDISP(2,TCBREG),NOTDISP(TCBREG) CLEAR ACTIVE TCB 40200020 SYSIO1 OI 29(TCBREG),1 SET PROHIBIT ASYNCH EXIT FLAG 40260020 SPACE 1 40320020 ***** SETUP FOR HARD PURGE (HIO) ON TCB 40380020 SPACE 1 40440020 MVI PURGPARM,X'62' INITIALIZE PURGE PARM LIST 40500020 LA R1,PURGPARM ADDR OF PURGE PARAMETER LIST 40560020 SVC 16 SUPERVISOR CALL TO PURGE 40620020 SPACE 1 40680020 ***** LOOP ON ECB WAITING FOR PURGE POSTING 40740020 SPACE 1 40800020 SSM ZERO DISABLE I/O AND EXT INTERRUPTS 40860020 CLI PURGPARM+4,X'7F' TEST PURGE ECB 40920020 BC 7,SERLI BR--PURGE COMPLETED INCORRECTLY 40980020 BC 15,SERLA BRANCH TO READ HEADER RECORD 41040020 EJECT 41100020 *********************************************************************** 41160020 *** *** 41220020 ***** THIS ROUTINE WILL PREPARE TO EXIT TO ABEND ***** 41280020 *** *** 41340020 *********************************************************************** 41400020 SPACE 1 41460020 SESF SSM ZERO DISABLE I/O AND EXT INTERRUPTS 41520020 SPACE 1 41580020 ***** RESTORE TASKS TO A DISPATCHABLE STATE 41640020 SPACE 1 41700020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 41760020 BC 1,SESFC YES - BYPASS 41820020 L R7,CVTHEAD HIGHEST PRIORITY TCB 41880020 SESFA EQU * 000D 41940020 TCBNDB NI NOTDEXT(R7),HEXFF-NOTDSER CLEAR SER TEMP NOT DISP 000E 42000020 NC NOTDEXT(M3,R7),NOTDEXT(R7) MORE DISP BITS 000D 42060020 BC CC7,TCBNDBA BRANCH--NO 000D 42120020 NI NOTDISB(R7),HEXFF-NOTDGEN CLEAR OUT EXT FLD USED 000E 42180020 TCBNDBA EQU * 000D 42240020 SESFB L R7,116(R7) NEXT TCB - LOWER PRIORITY 42300020 LTR R7,R7 LAST TCB 42360020 BC 7,SESFA NO - CONTINUE 42420020 SESFC NI HEX29(TCBREG),HEXFF-AD1 CLEAR PROHIBIT ASY EXIT 000E 42480020 SPACE 1 42540020 ***** SETUP FOR WRITE TO OPERATOR AND DELAY 42600020 SPACE 1 42660020 WTOMSG TM IORCD,HEX16 TEST FOR EW MESSAGE S21021 42720021 BZ NOTFUL NO-BRANCH AROUND S21021 42770021 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 42772021 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 42774021 SVC WTO WRITE TO OPERATOR S21021 42776021 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 42778021 NOTFUL NI IORCD,HEXEF CLEAR EW SWITCH S21021 42778421 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 42778821 SVC 35 WRITE TO OPERATOR SVC CALL 42780020 LA WORK1,4 WTO DELAY COUNTER 42840020 SLL WORK1,16 POSITION TO 256K 42900020 BCT WORK1,* DELAY FOR WTO COMPLETION 42960020 SPACE 1 43020020 ***** SETUP FOR ABEND ENTRY 43080020 SPACE 1 43140020 LR R0,TCBREG ADDRESS OF ACTIVE TCB 43200020 L RF,CVTBTERM ABEND ENTRY POINT 43260020 L R1,ABNDCODE ABEND COMPLETION CODE 43320020 BALR RE,RF BRANCH TO ABEND 43380020 SPACE 1 43440020 ***** FINAL HOUSEKEEP AND EXIT TO DISPATCHER 43500020 SPACE 1 43560020 XC PROGID(M56),PROGID CLEAR RE AREA S21021 43620021 NI SW1,HEXBF CLEAR RECORD INCOMPLETE S21021 43670021 L RE,CVT0DS DISPATCHER ADDRESS 43740020 NI SESCE+1,X'04' CLEAR WAIT BIT IN PROG INT PSW 43800020 XC IORCC(M2),IORCC CLEAR INTERNAL SWITCHES A 000E 43860020 XC CHKTCB1(K4),CHKTCB1 & SAVE AREAS D 000E 43920020 MVI PCICOUNT+AD1,AD16 RESTORE COUNT TO 16 A 000E 43980020 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 44040021 MVC 104(16),SESCE RESTORE INITIAL PI AND MC PSW'S 44100020 MVI HEX32,HEXFF RESET MCH CHK OLD PSW 000E 44160020 L WORK1,CVTTCBP GET PTR TO NEW/OLD TCB A38648 44210021 SR WORK2,WORK2 CLEAR REGISTER A38648 44212021 L WORK3,CVTHEAD GET HIGHEST PRIORITY TCB A38648 44214021 STM WORK2,WORK3,AD0(WORK1) STORE MODIFIED NEW/OLD A38648 44216021 LM R2,R9,AD80(WORK3) GET REGS FOR DISPATCHER A38648 44218021 BCR 15,RE EXIT SER1--BRANCH TO DISPATCHER 44220020 EJECT 44280020 *********************************************************************** 44340020 *** *** 44400020 ***** UNEXPECTED MACHINE CHECK OR PROGRAM INTERRUPT OCCURRED ***** 44460020 *** *** 44520020 *********************************************************************** 44580020 MCI2 L RD,BASESAVE LOAD SAVED BASE REGISTER VALUE 44640020 L CVTREG,INTCVTPT LOAD ADDR OF COMM VECTOR TABLE 44700020 TM IORCC,X'20' TEST IF I/O IS COMPLETE 44760020 BC 1,WAITTERM BRANCH--TERMINATE SYSTEM 44820020 TM IORCC,SECONDMC TEST FOR SECOND MACHINE FAILURE 44880020 BC 1,SEREP BR--SECOND FAILURE HAS OCCURRED 44940020 OI IORCC,SECONDMC SET SECOND FAILURE FLAG 45000020 TM IORCC,X'48' TEST STANDALONE AND I/O IN PROG 45060020 BC 1,SEREP3 BR--ATTEMPT SEREP SETUP 45120020 BC 15,IOFAIL+8 BRANCH TO ATTEMPT OUTPUT AGAIN 45180020 IOFAIL TM IORCC,STANDIO TEST FOR STANDALONE I/O 45240020 BC 1,ERREXIT2 BRANCH--STANDALONE I/O 45300020 IOFAIL1 OI IORCC,STANDIO SET STANDALONE I/O FLAG 45360020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 45420020 LA WORK1,WRITENT WRITE RECORD ENTRY POINT 45480020 TM IORCC,X'10' TEST IF HEADER RECORD READ OK 45540020 BC 1,*+8 HDR OK--BRANCH TO WRITE RE 45600020 LA WORK1,SERLI READ HEADER ENTRY POINT 45660020 ST WORK1,DSRCA+4 STORE ADDRESS IN PSW 45720020 LPSW DSRCA ENABLE MC'S - BR TO OUTPUT 45780020 WAITTERM MVI PRTIMAGE+5,C'6' SET ERROR MESSAGE CODE 45840020 LA R0,X'F06' WAIT PSW ERROR CODE 45900020 BC 15,ERREXIT1+8 BR TO PRT MESSAGE AND TERMINATE 45960020 SPACE 1 46020020 ***** SETUP FOR SEREP OUTPUT 46080020 SPACE 1 46140020 SEREP MVI 121,0 DISABLE MC IN I/O NEW PSW 46200020 SEREP3 MVI PRTIMAGE+5,C'D' SWT ERROR MESSAGE CODE 46260020 LA R0,X'F0D' WAIT PSW ERROR CODE 46320020 BAL LINKREG,ERREXIT2+12 BRANCH TO SETUP PRINT IMAGE 46380020 SEREP1 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 46440021 BC 8,SEREPIN BRANCH--INBOARD RE 46500020 MVC 128(256),CPULOG MOVE LOG TO LOGOUT AREA 46560020 MVC 48(8),MCIOPSW MOVE MC PSW TO HARDWARE LOC. 46620020 MVI 115,0 CLEAR SEREP INTERFACE BYTE 46680020 BC 15,EXIT BRANCH TO RING BELL AND WAIT 46740020 SPACE 1 46800020 SEREPIN MVC 64(8),INCSW MOVE CSW TO HARDWARE LOCATION 46860020 MVC 58(2),INCUA MOVE CUA TO I/O OLD PSW 46920020 MVI 115,X'0F' SETUP SEREP INTERFACE BYTE 46980020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 47040020 EJECT 47100020 SPACE 2 47160020 ***** ENTER WAIT STATE WITH ALL INTERRUPTS DISABLED 47220020 SPACE 1 47280020 EXIT ST R0,SERCA+4 STORE TERMINATION CODE IN PSW 47340020 MVI SERCA+1,X'02' SET WAIT BIT 47400020 LPSW SERCA ENTER WAIT STATE 47460020 * A 000E 47520020 * PROGRAM CONTROL CHECK WHILE FILLING RE A 000E 47580020 * A 000E 47640020 PCIERR L RD,BASESAVE RESTORE BSSE ADDR A 000E 47700020 L CVTREG,INTCVTPT RESET CVT PIONTER S21014 47760021 TM CVTGTF,HEXC0 TEST GTF ACTIVE S21014 47810021 BZ PCIERR0 BRANCH--NO S21014 47812021 CLI LOC43,K1 TEST FOR OPER INT S21014 47814021 BNE PCIERR0 BRANCH--NO S21014 47816021 LPSW LOC40 RETURN S21014 47818021 PCIERR0 OI IORCD,HEX80 TURN ON PCI ERROR IND S21014 47818421 PCIERRB LH PARMREG0,PCICOUNT NO. OF ENTRIES ALLOWED A 000E 47820020 BCT PARMREG0,PCIERRA IF NOT ZERO OK A 000E 47880020 LPSW SERCA GTR THAN 16 ENTRYS-WAIT A 000E 47940020 PCIERRA STH PARMREG0,PCICOUNT SAVE COUNT A 000E 48000020 BR LINKREG RETURN A 000E 48060020 EJECT 48120020 SPACE 1 48180020 ***** HALT I/O IN PREPARATION FOR STAND ALONE I/O 48240020 SPACE 1 48300020 SERLK EQU * S21021 48360021 SERLI OI IORCC,STANDIO SET STANDALONE I/O FLAG 48420020 OI SW1,SYSTERM IND SYSTEM TERMINATED S21021 48470021 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 48480020 SPACE 1 48540020 SPACE 2 48600020 ***** SETUP FOR READ OF HEADER RECORD 48660020 SPACE 1 48720020 SERLA TM IORCD,HEX40 WAS OBR/SDR IN PROGRESS C 000E 48780020 BO MDALLC YES PUT OUT RE LOST C 000E 48840020 L WORK2,CVTDCB ADDR OF SER DCB C 000E 48900020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 48960020 MVC CCWSKADR(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK AD 49020020 SERLH MVI CCWSKADR+6,1 SET SEARCH ID FIELD TO ONE 49080020 LA WORK3,HDRCCW HEADER CHANNEL PROG ADDRESS 49140020 ST WORK3,IOBSA STORE ADDRESS IN IOB 49200020 MVC IOBSKADR+1(7),CCWSKADR MOVE SEEK ADDRESS TO IOB 49260020 OI IORCD,HEX80 TURN ON READ IN PRGRESS C 000E 49320020 BAL LINKREG,FTCHA BRANCH TO READ HEADER RECORD 49380020 NI IORCD,HEX7F TURN OFFREAD IN PRGRESS C 000E 49440020 SPACE 1 49500020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 49560020 BC 7,IOFAIL BR--HEADER RECORD INCORRECT 49620020 SPACE 1 49680020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 49740020 SPACE 1 49800020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 49860020 XR WORK4,WORK4 CLEAR REGISTER 49920020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 49980020 SLL WORK4,1 DOUBLE 50040020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 50100020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 50160021 BE SER10 YES - BRANCH S21021 50210021 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 50280020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 50340020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 50400020 BC 1,SER13 BR--RE WILL FIT ON TRACK 50460020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 50520020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 50580020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 50640021 BE SER12 YES - BRANCH S21021 50690021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 50880020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 50940020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 51000020 BC 15,SER10 BRANCH FOR ANOTHER PASS 51060020 SER12 XR WORK3,WORK3 CLEAR REGISTER 51120020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 51180020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 51240020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 51300020 BC 15,SER11 BRANCH FOR ANOTHER PASS 51360020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 51420020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 51480020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 51540020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 51600020 BC CC1,ERREXIT2 SET UP FOR SEREP 000D 51660020 MVI PRTIMAGE+AD5,C'C' ERROR CODE 000D 51720020 MVC IMAGE1(M12),IMAGE3 APPENDAGE 000D 51780020 BC CC15,SESF BRANCH TO ABEND MESSAGE 000D 51840020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 51900020 OI IORCC,HDSWTCH SET HEAD SWITCH REQUIRED SWITCH 51960020 MVC IOBSKADR+1(7),LASTTTR PLACE SEEK ADDR FOLLOWING IOB 52020020 MVC CCWSKADR(7),IOBSKADR+1 MOVE SEARCH AUGUMENT TO BUFFER 52080020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 52140020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 52200020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 52260020 SER14 OI IORCC,HEADEROK SET HEADER RECORD OK SWITCH 52320020 SPACE 1 52380020 ***** SETUP FOR RECORD ENTRY WRITE 52440020 SPACE 1 52500020 WRITENT LA WORK5,WRTCCW ADDR OF RE WRITE CCW CHAIN 52560020 ST WORK5,IOBSA STORE ADDRESS IN IOB 52620020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 52680020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 52740021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 52800020 LA WORK5,88 RE LGH FOR CCW CNT FLD S21021 52860021 LA WORK3,80 RE LGH FOR DATA CNT FLD S21021 52910021 STH WORK5,WRTCCW1+6 SET COUNT IN CCW 52980020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 53040020 MDALLA BAL LINKREG,FTCHA BRANCH TO WRITE RECORD ENTRY 53100020 SPACE 1 53160020 ***** SETUP FOR END OF FILE (EOF) WRITE 53220020 SPACE 1 53280020 TM IORCC,HDSWTCH TEST IF HD SWITCHING REQ 53340020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 53400020 MVC CCWSKADR(7),LASTTTR MOVE SEARCH AUGUMENT TO BUFFER 53460020 BC 15,WRTEOF 53520020 SWITCH CLC CCWSKADR(CC7),RESTART IS THIS THE FIRST ENTRY 000E 53580020 BNE NOEOF NO EOF HAS BEEN WRITTEN 000E 53640020 MVC CCWSKADR+M2(K4),UPLIMIT MOVE SEARCH ARG TO BUFF 000E 53700020 MVI CCWSKADR+6,0 SET ID FIELD TO ZERO 53760020 MVC IOBSKADR+3(4),UPLIMIT MOVE SEEK ADDR TO IOB 53820020 WRTEOF MVC EOFRECRD(4),IOBSKADR+3 MOVE CCHH TO EOF RECORD 53880020 LA WORK5,EOFCCW ADDR OF EOF WRT CCW CHAIN 53940020 ST WORK5,IOBSA STORE ADDRESS IN IOB 54000020 BAL LINKREG,FTCHA BRANCH TO WRITE END OF FILE 54060020 SPACE 1 54120020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 54180020 ***** TEST FOR 90 PERCENT FULL 54240021 NOEOF TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 54290021 BO NOEWTST YES-BRANCH AROUND S21021 54292021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 54294021 BL NOEWTST BRANCH IF LOWER S21021 54296021 BH SETSW BRANCH IF GREATER S21021 54298021 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 54298421 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 54298821 BH NOEWTST BRANCH IF HIGHER S21021 54299221 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 54299621 OI IORCD,HEX16 SET EW SWITCH S21021 54299721 ***** OUTPUT MESSAGE TO OPERATOR IF STAND ALONE I/O 54299821 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 54299921 BZ NOEWTST NO-DO IT LATER S21021 54319921 ***** DO STAND ALONE I/O FOR MESSAGE 54329921 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 54339921 MSG90 BAL LINKREG,PRINT BRANCH TO PRINT S21021 54346621 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 54348621 NI IORCD,HEXEF CLEAR EW INDICATOR S21021 54350621 SPACE 1 54353321 NOEWTST LA R5,HDRCCW1 POINT TO CCW LIST S21021 54360021 ST R5,IOBSA STORE IN IOB 54420020 L WORK2,CVTDCB ADDRESS OF SER DCB 54480020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 54540020 MVC CCWSKADR(6),DEBF4(WORK6) SETUP SEARCH ID ARGUMENT 54600020 MVI CCWSKADR+6,1 54660020 MVC IOBSKADR+1(7),CCWSKADR PLACE SEEK ADDR FOLLOWING IOB 54720020 BAL LINKREG,FTCHA BRANCH TO WRITE HEADER RECORD 54780020 MDALLB OI IORCC,IOCMPLTE SET I/O COMPLETE FLAG 54840020 MVI PRTIMAGE+5,C'B' SET ERROR MESSAGE CODE 54900020 SPACE 1 54960020 ***** DETERMINE HOW TO TERMINATE SYSTEM 55020020 SPACE 1 55080020 MDALLB1 EQU * C 000E 55140020 TM IORCC,SECONDMC TEST IF SECOND MC OCCURED 55200020 BC 1,WAITTERM BRANCH--CANNOT ABEND SYSTEM 55260020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 55320020 BC 1,ERREXIT1 BRANCH--CANNOT ABEND SYSTEM 55380020 BC 15,SESF BRANCH TO ABEND SETUP ROUTINE 55440020 MDALLC MVC IMAGE1(M14),IMAGE4 SET UP ERROR MSG C 000E 55500020 MVI PRTIMAGE+AD5,CE SET ERROR CODE C 000E 55560020 B MDALLB1 CONTINUE ON PROCESSING C 000E 55620020 EJECT 55680020 FTCHA OI IORCC,X'08' SET I/O OUTPUT IN PROG FLAG 55740020 ERROR3 NI IOBECB,X'0' CLEAR ECB COMPLETION CODE 55800020 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 55860021 BC 1,IORTN BRANCH--USE STAND ALONE I/O 55920020 LA R1,SERIOB ADDRESS OF IOB 55980020 SSM ENABLE ENABLE ALL CHANNELS 56040020 SPACE 2 56100020 SVC EXCP EXECUTE CHANNEL PROGRAM CALL 56160020 SPACE 2 56220020 ***** LOOP WAITING FOR ECB POSTING BY IOS 56280020 SPACE 1 56340020 TESTECB CLI IOBECB,X'00' CHECK COMPLETION CODE IN ECB 56400020 BC 8,TESTECB LOOP WAITING FOR ECB POSTING 56460020 CLI IOBECB,INTCEPT CHECK COMPLETION CODE IN ECB 56520020 BC 8,ERROR3 BR TO EXCP AGAIN 56580020 CLI IOBECB,NORMAL CHECK COMPLETION CODE IN ECB 56640020 BCR 8,LINKREG BR--I/O OPERATION COMPLETED OK 56700020 TM IORCD,HEX80 IS READ IN PROGRESS C 000E 56760020 BO IOFAIL YES SYSTEM TO LOAD WAIT C 000E 56820020 B MDALLC NO WRITE IGNORED C 000E 56880020 SPACE 1 56940020 ***** SETUP FOR ERROR EXITS 57000020 SPACE 1 57060020 ERREXIT1 MVI PRTIMAGE+5,C'5' SET ERROR MESSAGE CODE 57120020 LA R0,X'F05' WAIT PSW ERROR CODE 57180020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 57240020 LA LINKREG,EXIT RETURN POINT FOLLOWING PRINTING 57300020 BC 15,PRINT BRANCH TO PRINT ERROR MESSAGE 57360020 SPACE 1 57420020 ERREXIT2 MVI PRTIMAGE+5,C'9' SET ERROR MESSAGE CODE 57480020 LA R0,X'F09' WAIT PSW ERROR CODE 57540020 LA LINKREG,SEREP1 RETURN POINT FOLLOWING PRINTING 57600020 MVC IMAGE1(14),IMAGE2 MOVE MESSAGE TO PRINT IMAGE 57660020 BC 15,PRINT BRANCH TO PRINT ERROR MESSAGE 57720020 EJECT 57780020 *********************************************************************** 57840020 *** *** 57900020 ***** STAND ALONE ROUTINE TO PERFORM I/O OPERATIONS ***** 57960020 *** *** 58020020 *********************************************************************** 58080020 IORTN MVC IORCB+1(3),IOBSA+1 MOVE CCW START ADDRESS TO TIC 58140020 LA WORK2,10 SETUP TO COUNT RETRIES 58200020 SIORTN LA WORK1,IORCA STARTING CCW CHAIN ADDRESS 58260020 ST WORK1,72 STORE IN CHANNEL ADDRESS WORD 58320020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 58380021 SIORTNB LA WORK1,HIO4 LOAD I/O INTERRUPT ADDR 21021 58440020 ST WORK1,AD124 STORE IN I/O NEW PSW 21021 58500020 SSM ENABLE ENABLE ALL CHANNELS 21021 58560020 SIORTNB1 TIO AD0(DADCUA) TEST I/O 21021 58620020 BC CC6,SIORTNB1 BR--CHAN BSY OR STATUS ST 21021 58680020 SSM ZERO DISABLE ALL CHANNELS 21021 58740020 SIO 0(DADCUA) START I/O 58800020 BC 8,SIORTND BR--I/O OPERATION INITIATED 58860020 SIORTNC BCT WORK2,SIORTN BRANCH--TRY OPERATION AGAIN 58920020 BC 15,SEREP3 BRANCH TO SETUP FOR SEREP 58980020 SIORTND TIO 0(DADCUA) TEST I/O 59040020 BC 2,SIORTND BR--CHANN OR SUBCHANN BUSY 59100020 TM 68,X'0D' CH END, DEV END, UNIT EXCEPTION 59160020 BC 14,SIOTEST BR--NOT END OF FILE 59220020 CLC IOBSKADR+3(4),SESCD COMPARE R0 AND SEEK ADDR 59280020 BC 8,SIORTNC BRANCH--NOT ALT. TRACK 59340020 BC 15,ALTRK BR--SETUP FOR ALTERNATE TRACK 59400020 SIOTEST TM 68,6 CHECK DE AND UNIT CHECK 59460020 BC 1,SENSE YES--SENSE AND CHECK FOR ALT TR 59520020 TM 68,X'0A' CHECK CE AND UNIT CHECK 59580020 BC 1,SENSE YES--SENSE AND CHECK FOR ALT TR 59640020 TM 68,X'04' TEST FOR DEVICE END 59700020 BC 14,SIORTND BR--NOT DEVICE END 59760020 TM 69,X'FF' CHECK FOR CHANNEL ERRORS 59820020 BC 7,SIORTNC BRANCH AND RETRY--CHANN ERRORS 59880020 BCR 15,LINKREG RETURN TO MAINLINE 59940020 SPACE 1 60000020 ***** SENSE DISK TO CHECK FOR ALTERNATE TRACK 60060020 SPACE 1 60120020 SENSE LR PARMREG1,LINKREG SAVE ORIGINAL LINKAGE REGISTER 60180020 LA WORK1,IORCF SENSE CCW ADDRESS 60240020 ST WORK1,72 STORE IN CHANNEL ADDRESS WORD 60300020 BAL LINKREG,SIORTNB BR TO PERFORM SENSE OPERATION 60360020 TM DSRCC,X'02' CHECK ALTERNATE TRACK BIT 60420020 LR LINKREG,PARMREG1 RESTORE LINKAGE REGISTER 60480020 BC 14,SIORTNC BRANCH TO COUNT RETRIES 60540020 SPACE 1 60600020 ***** SETUP FOR A SWITCH TO AN ALTERNATE TRACK 60660020 SPACE 1 60720020 ALTRK MVC IOBSKADR+3(5),SESCD SETUP ALT. TRACK SEEK ADDR 60780020 BC 15,SIORTN 60840020 EJECT 60900020 *********************************************************************** 60960020 *** *** 61020020 ***** HALT I/O AND DETERMINE ADDRESSES OF THE OUTPUT DEVICES ***** 61080020 *** *** 61140020 *********************************************************************** 61200020 HIO LA WORK1,HIO3 I/O INTERRUPT ADDRESS 61260020 ST WORK1,124 STORE IN I/O NEW PSW 61320020 MVC IMAGE1(M14),IMAGE1A RELOAD OS MESSAGE 000D 61380020 LA WORK6,2048 LOOP PREVENTION COUNTER 61440020 LR WORK1,WORK6 MAXIMUM CUA + ONE 61500020 SSM ENABLE ENABLE ALL CHANNELS 61560020 HIO2 HIO 0(WORK1) HIO ON MPX CHANN DEVICE 61620020 BCT WORK1,HIO2 BR TO HIO ON NEXT DEVICE 61680020 SPACE 1 61740020 ***** LOCATE DIRECT ACCESS DEVICE OUTPUT ADDRESS (CUA) 61800020 SPACE 1 61860020 LOADCUA L WORK1,CVTDCB LOAD ADDRESS OF SER DCB 61920020 L WORK1,DEBAD(WORK1) LOAD ADDRESS OF SER DEB 61980020 L WORK1,UCBPTR(WORK1) LOAD ADDR OF SYS RES UCB 62040020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 62100020 SPACE 1 62160020 BC CC15,LOCCONS LOCATE CONSOLE CUA 000D 62220020 SPACE 1 62280020 HIO3 BCT WORK6,*+8 BR AROUND LOOP PROTECTION EXIT 62340020 BC 15,LOADCUA EXIT--LOOP PROTECTION EXIT 62400020 HIO4 LPSW AD56 RETURN TO INTERRUPT POINT 21021 62460020 EJECT 62520020 ***** CONSTANTS AND BUFFERS WHICH ARE NOT MODEL DEPENDENT 62580020 SPACE 2 62640020 DS 0D 62700020 SERCA DC XL5'0' SER1 MC AND PI NEW PSW 62760020 SERCAA DC AL3(MCI2-IEAMCH00) 000C 62820020 SERCB DC XL5'4000000' A 000E 62880020 SERCBA DC AL3(PCIERR-IEAMCH00) A 000E 62940020 MSCHKPSW DC XL5'4000000' MACHINE CHECK ENABLED PSW 63000020 PTYCHKAD DC AL3(PTYCHK2-IEAMCH00) 000C 63060020 SESCE DC XL8'0' PROGRAM INTERRUPT PSW SAVE AREA 63120020 SESCD DC XL5'0' ORIGINAL NEW MACHINE CHECK PSW 63180020 IEAMCADR DC AL3(IEAMCH-IEAMCH00) 000C 63240020 ZERO EQU SESCD 63300020 IOBECB DC XL4'0' 63360020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 63420020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 63480020 CCWSKADR DC XL8'0' SEEK BUFFER 63540020 ABNDCODE DC X'000F3000' 63600020 CON7FF DC X'00000FFF' CUA MASK 000E 63660020 ENABLE DC X'FE' MASK TO ENABLE ALL CHANNELS 63720020 SPACE 2 63780020 IORCC DC X'0000' CONTROL FLAGS A 000E 63840020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 63900020 * BIT 1---STAND ALONE I/O BEING UTILIZED 63960020 * BIT 2---I/O OPERATIONS FOR RECORD ENTRY ARE COMPLETE 64020020 * BIT 3---HEADER RECORD READ AND UPDATED SUCESSFULLY 64080020 * BIT 4---I/O OUTPUT HAS BEEN TRIED 64140020 * BIT 5 MCS ENVIRONMENT 000D 64200020 * BIT 6---HEAD SWITCHING REQUIRED TO WRITE END OF FILE 64260020 * BIT 7---SECOND MACHINE CHECK OR CHANN FAILURE HAS OCCURRED 64320020 * BIT 8 A PCI ERROR OCCURRE OR A HDR REC IS TO BE READ A 000E 64380020 * BIT 9 OBR/SDR IN PROGRESS C 000E 64440020 * BIT 10 --- PARITY ERROR ENCOUNTERED IN THE NUCLEUS 000E 64500020 * BIT 11 --- EARLY WARNING MESSAGE IN PROGRESS S21021 64550021 IORCD EQU IORCC+1 A 000E 64560020 EJECT 64620020 SPACE 2 64680020 DS 0D 64740020 SPACE 1 64800020 IORCA DC X'07' SEEK 000C 64860020 IOBADDRS DC AL3(IOBSKADR+1-IEAMCH00) 000C 64920020 DC XL4'40000006' 000C 64980020 SPACE 1 65040020 DC X'16' READ 000C 65100020 SESCDADD DC AL3(SESCD-IEAMCH00) 000C 65160020 DC XL4'60000008' R0 000C 65220020 SPACE 1 65280020 IORCB DC X'08' TRANSFER 000C 65340020 STARADDR DC AL3(*-IEAMCH00) IN 000C 65400020 DC XL4'40000001' CHANNEL 000C 65460020 SPACE 1 65520020 IORCF DC X'04' SENSE DAD 000C 65580020 DSRCCADD DC AL3(DSRCC-IEAMCH00) INTO WORK 000C 65640020 DC XL4'20000003' AREA 000C 65700020 SPACE 1 65760020 HDRCCW1 DC X'31' SEARCH ON 000C 65820020 SKADDRAD DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 65880020 DC XL4'40000005' EQUAL 000C 65940020 SPACE 1 66000020 DC X'08' TRANSFER 000C 66060020 HDRCCWAD DC AL3(HDRCCW1-IEAMCH00) IN 000C 66120020 DC XL4'40000001' CHANNEL 000C 66180020 SPACE 1 66240020 DC X'05' WRITE 000C 66300020 HDRRECAD DC AL3(HDRREC-IEAMCH00) HEADER 000C 66360020 DC XL4'00000028' RECORD S21021 66420021 SPACE 1 66480020 HDRCCW DC X'31' SEARCH ON 000C 66540020 SKADRAD1 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 66600020 DC XL4'40000005' EQUAL 000C 66660020 SPACE 1 66720020 DC X'08' TRANSFER 000C 66780020 HDRCCWA1 DC AL3(HDRCCW-IEAMCH00) IN 000C 66840020 DC XL4'40000001' CHANNEL 000C 66900020 SPACE 1 66960020 DC X'06' READ 000C 67020020 HDRRECA1 DC AL3(HDRREC-IEAMCH00) HEADER 000C 67080020 DC XL4'00000028' RECORD S21021 67140021 SPACE 1 67200020 WRTCCW DC X'31' SEARCH ON 000C 67260020 SKADRAD2 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 67320020 DC XL4'40000005' EQUAL 000C 67380020 SPACE 1 67440020 DC X'08' TRANSFER 000C 67500020 WRTCCWAD DC AL3(WRTCCW-IEAMCH00) IN 000C 67560020 DC XL4'40000001' CHANNEL 000C 67620020 SPACE 1 67680020 WRTCCW1 DC X'1D' WRITE 000C 67740020 CTFLDADD DC AL3(CTFLDID-IEAMCH00) RECORD 000C 67800020 DC A(420) ENTRY S21021 67860021 SPACE 1 67920020 EOFCCW DC X'31' SEARCH ON 000C 67980020 SKADRAD3 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 68040020 DC XL4'40000005' EQUAL 000C 68100020 SPACE 1 68160020 DC X'08' TRANSFER 000C 68220020 EOFCCWAD DC AL3(EOFCCW-IEAMCH00) IN 000C 68280020 DC XL4'40000001' CHANNEL 000C 68340020 SPACE 1 68400020 DC X'1D' WRITE 000C 68460020 EOFRECAD DC AL3(EOFRECRD-IEAMCH00) END OF 000C 68520020 DC XL4'00000008' FILE 000C 68580020 EJECT 68640020 * 68700020 **** HEADER RECORD FROM SR 68760020 * 68820020 HDRREC DS 0F S21021 68880021 DC X'FF000000',9F'0' S21021 68930021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 68940021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 68990021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 69000021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 69050021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 69060021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 69110021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 69120021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 69170021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 69180021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 69230021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 69240021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 69290021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 69300021 SPACE 2 69420020 * 69480020 ** IOB FOR SER1 FUNCTIONS 69540020 * 69600020 DS 0F 69660020 SERIOB DC XL4'42000000' 69720020 DC X'00' 000C 69780020 IOBECADR DC AL3(IOBECB-IEAMCH00) 69840020 DC XL8'0' 69900020 IOBSA DC XL4'0' 69960020 IOBDCBP DC A(0) V(IFBDCB) SER DCB POINTER 000C 70020020 IOBRA DC XL4'0' 70080020 IOBBC DC XL4'0' 70140020 IOBSKADR DC XL8'0' 70200020 SPACE 2 70260020 ***** INPUT PARAMETER LIST FOR PURGE 70320020 SPACE 1 70380020 PURGPARM DC X'62' PURGE BY TCB,HIO,POST 70440020 DC XL3'0' DEB ADDR--NOT REQUIRED 70500020 DC XL4'0' TCB ADDRESS AND ECB 70560020 DC XL4'0' CHAIN ADDR--NOT REQUIRED 000D 70620020 EJECT 70680020 CHCONFIG DC A(0) V(IFBACTA) ADDR OF SYS CHANN CONFIG 000C 70740020 INTCVTPT DC A(0) V(IEACVT) ADDR OF COMM VECTOR TABLE 000C 70800020 CHKTCB1 DC XL4'00' A 000E 70860020 PCICOUNT DC XL2'0010' 000E 70980020 EJECT 71040020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 71100020 SPACE 2 71160020 * DAD SUBTRACTION CONSTANT TABLE 71220020 CONRE DC AL2(502) * 2311 CPU RE SUB CONST S21021 71280021 DC AL2(553) * 2301 CPU RE SUB CONST S21021 71330021 DC AL2(528) * 2303 CPU RE SUB CONST S21021 71340021 DC AL2(502) * 2302 CPU RE SUB CONST S21021 71390021 DC AL2(525) * 2321 CPU RE SUB CONST S21021 71400021 DC XL2'0' * DUMMY 000C 71580020 DC XL2'0' * DUMMY 000C 71640020 DC AL2(540) * 2314 CPU RE SUB CONST S21021 71700021 SPACE 1 71760020 CONIO DC AL2(152) * 2311 INB RE SUB CONST S21021 71820021 DC AL2(221) * 2301 INB RE SUB CONST S21021 71870021 DC AL2(196) * 2303 INB RE SUB CONST S21021 71880021 DC AL2(152) * 2302 INB RE SUB CONST S21021 71930021 DC AL2(175) * 2321 INB RE SUB CONST S21021 71940021 DC XL2'0' * DUMMY 000C 72120020 DC XL2'0' * DUMMY 000C 72180020 DC AL2(193) * 2314 INB RE SUB CONST S21021 72240021 SPACE 1 72300020 DS 0D 72360020 DSRCA DC XL5'4000000' MACHINE CHECK ENABLED PSW 72420020 SERBADDR DC AL3(SERB-IEAMCH00) 000C 72480020 EJECT 72540020 DS 0D 72600020 EOFRECRD DC XL4'0' EOF RECORD BUILD AREA 72660020 DC X'FF000000' ID OF EOF RECORD 72720020 DSRCC DC XL8'0' WORK AREA FOR VARIOUS TESTS 72780020 SPACE 2 72840020 * 72900020 ***** R E C O R D E N T R Y B U I L D A R E A 72960020 * 73020020 DS 0F S21021 73080021 CTFLDID DC XL5'0' COUNT FIELD 73140020 CTFLDKEY DC X'00' KEY LENGTH S21021 73200021 CTFLDDL DC AL2(412) DATA LENGTH FOR MC RE S21021 73250021 CLASSRC DC X'18' MACHINE CHECK/SER1 S21021 73260021 SYSREL DC X'00' RELEASE NUMBER S21021 73310021 SWS DC XL6'0' SWITCHES S21021 73320021 SW0 EQU SWS S21021 73370021 SW1 EQU SWS+1 S21021 73380021 * SWITCH SETTINGS ON CPU RECORD S21021 73430021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 73440021 * BIT 1 - NS CLOCK S21021 73490021 * BIT 2 - EC MODE S21021 73500021 * BIT 3 - SPARE S21021 73550021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 73560021 * BIT 5 - SPARE S21021 73610021 * BIT 6 - SPARE S21021 73620021 * BIT 7 - SPARE S21021 73670021 * BIT 8 - SHORT RECORD S21021 73680021 * BIT 9 - RECORD INCOMPLETE S21021 73730021 * BIT 10 - SYSTEM TERMINATED S21021 73740021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 73790021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 73800021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 73850021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 73860021 * BIT 15 - SPARE S21021 73910021 REDATE DC XL4'0' DATE S21021 73920021 RETIME DC XL4'0' TIME S21021 73970021 SP1 DC X'0' NOT USED S21021 73980021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 74030021 RECPUID DC X'0040' CPU ID - MOD 40 S21021 74040021 SP2 DC X'0000' SPARE S21021 74090021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 74100021 JOBNAME DC XL8'0' JOBNAME S21021 74150021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 74160021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 74210021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 74220021 GPRPAR DC XL8'0' GP REG PARITY-FOLD AREA S21021 74270021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 74280021 CPULOG DC 256X'00' CPU HARDWARE LOG AREA S21021 74330021 SPACE 2 74340021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 74390021 SPACE 2 74400021 * SWITCH SETTINGS FOR CHANNEL RECORD 74450021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 74460021 * BIT 1 - NS CLOCK S21021 74510021 * BIT 2 - EC MODE S21021 74520021 * BIT 3 - SPARE S21021 74570021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 74580021 * BIT 5 - SPARE S21021 74630021 * BIT 6 - SPARE S21021 74640021 * BIT 7 - SPARE S21021 74690021 * BIT 8 - MESSAGE REQUIRED S21021 74700021 * BIT 9 - RECORD INCOMPLETE S21021 74750021 * BIT 10 - SYSTEM TERMINATED S21021 74760021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 74810021 * BIT 12 - ILLEGAL CUA S21021 74820021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 74870021 * BIT 14 - ERP IN PROGRESS S21021 74880021 * BIT 15 - SPARE S21021 74930021 IJOBNAME EQU PROGID JOBNAME S21021 74940021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 74990021 INCCW EQU PROGID+24 FAILING CCW S21021 75000021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 75050021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 75060021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 75110021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 75120021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 75170021 INMP EQU PROGID+52 MP INFO S21021 75180021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 75230021 EJECT 000D 76260020 *** MESSAGE CCW'S 000D 76320020 SPACE 1 000D 76380020 * 1052 CONSOLE 000D 76440020 * PRINTERS/PUNCHES 000D 76500020 TYPEWRIT CCW 11,0,X'60',1 SOUND ALARM 000D 76560020 DC X'09' TERMINATION 000D 76620020 MSGBFRAD DC AL3(PRTIMAGE-IEAMCH00) MESSAGE 76680020 DC XL4'0000002C' S21021 76740021 SPACE 2 000D 76800020 *** CONSTANTS / STORAGE 000D 76860020 FOUR DC A(4) A55855 76880021 ***** DO NOT SEPARATE NEXT TWO CONSTANTS A55855 76900021 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 76920020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 76980020 SPACE 2 000D 77040020 SPACE 2 000D 77100020 ***** ERROR TERMINATION PRINT IMAGE 000D 77160020 SPACE 2 000D 77220020 DS 0F 000D 77280020 WTOIMAGE DC AL2(IMAGE-*) 000D 77340020 DC B'1000000000000000' MCS FLAGS FIELD 000D 77400020 PRTIMAGE DC C'IFBF0XI' S21021 77460021 ERRTYPE DC CL14' ' S21021 77510021 IMAGE1 EQU * 000D 77520020 DC CL14' ' BUFFER 000D 77580020 TIMAGE DC CL10' ' S21021 77630021 IMAGE EQU * 000D 77640020 DC B'0001000000000000' DESCRIPTOR CODES 000D 77700020 DC B'1000000000000000' ROUTING CODE 000D 77760020 IMAGE1A DC C' RELOAD OS/360' 000D 77820020 IMAGE2 DC C' EXECUTE SEREP' 000D 77880020 IMAGE3 DC C' LOGREC FULL' 000D 77940020 IMAGE4 DC CL14' RECORD LOST' C 000E 78000020 IMAGE5 DC C' CHAN ERROR.' S21021 78050021 IMAGE6 DC C' CPU ERROR.' S21021 78052021 ***** 90 PER CENT FULL MESSAGE 78054021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 78056021 TD10E5 DC F'200000' S21021 78058021 TDCNVR DC X'0249F000' S21021 78058421 TDIV DC F'10' S21021 78058821 TD12 DC F'12' S21021 78059221 TD24 DC F'24' S21021 78059621 TABLE DC C'0123456789ABCDEF' S21021 78059721 SPACE 2 000D 78060020 ***** ERROR MESSAGE CODE BYTE SIX 000D 78120020 * EQUAL 5 - NORMAL TERMINATION-CHANN FAILURE OR SUP. DAMAGE 000D 78180020 * EQUAL 6 - RECORDING FINISHED-TERM SYS-RECURRING MACHINE CH000D 78240020 * EQUAL 9 - NO RECORDING-DS FULL OR INCORRECT-EXECUTE SEREP 000D 78300020 * EQUAL B - RECORDING FINISHED-CURRENT STEP TO BE TERMINATED000D 78360020 * EQUAL C - NO RECORDING-RE AREA IS FULL-TERMINATE STEP 000D 78420020 * EQUAL D - SER1 FAILED-NO RECORDING-EXECUTE SEREP 000D 78480020 EJECT 000D 78540020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 78600020 SPACE 1 000D 78660020 DS 0H 000D 78720020 LOCCONS EQU * 000D 78780020 L WORK1,CVTCUCB ADDRESS OF CONS.UCM 000D 78840020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 78900020 BC CC1,CONCUA BRANCH--BYPASS 000D 78960020 CLI STARTMCS,KFF MCS CODE AVAILABLE 000D 79020020 BC CC7,NXTENTRY-AD4 BRANCH--NO 000D 79080020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 79140020 BC CC1,MCSROUT BRANCH--YES 000D 79200020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 79260020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 79320020 BC CC1,GETCUAA BRANCH--YES GET CUA 000D 79380020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 79440020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 79500020 GETCUAA EQU * 000D 79560020 BAL WORK5,GETCUA GET CUA 000D 79620020 BC CC15,CONCUA1 BRANCH 000D 79680020 SPACE 1 000D 79740020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 79800020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 79860020 BC CC1,GETCUA1 BRANCH--YES 000D 79920020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 79980020 GETCUA1 EQU * 000D 80040020 BAL WORK5,GETCUA+AD4 GET CUA 000D 80100020 CONCUA1 EQU * 000D 80160020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 80220020 STH MSGCUA,MSTMCS SAVE CUA 000D 80280020 CUAEXIT N DADCUA,CON7FF REMOVE UNUSED BITS 000D 80340020 SSM ZERO 000D 80400020 BCR CC15,LINKREG RETURN TO MAINLINE 000D 80460020 EJECT 000D 80520020 *** GET CUA OF CONSOLE FROM UCB 000D 80580020 SPACE 1 000D 80640020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 80700020 LA WORK1,TYPEWRIT CONSOLE PRINTER 000D 80760020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 80820020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 80880020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 80940020 EJECT 000D 81000020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 81060020 ***** PRINT 90 PER CENT FULL MESSAGE 81110021 SPACE 1 000D 81120020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 81180020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 81230021 ST WORK1,AD72 STORE IN CAW 000D 81240020 TM IORCD,HEX16 TEST FOR NEAR FULL MSG S21021 81290021 BO PRINT1 YES-BRANCH AROUND S21021 81292021 MVI PRTIMAGE+AD6,C'W' SET ACTION CODE IN IMAGE 000D 81300020 CLI IMAGE1+AD1,C'R' COMPARE FOR EX. SEREP MSG 000D 81360020 BC CC8,*+AD8 BR--NOT SEREP MSG 000D 81420020 MVI PRTIMAGE+AD6,C'S' SET ACTION CODE IN IMAGE 000D 81480020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 81540021 SIO AD0(MSGCUA) START I/O 000D 81600020 LA WORK1,HEX40 COUNT S21021 81660021 SLL WORK1,K10 MULTIPLY S21021 81710021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 81712021 BC CC8,TIOLOPA OK-BRANCH S21021 81714021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 81716021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 81718021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 81720020 BCR CC15,LINKREG RETURN 000D 81780020 EJECT 000D 81840020 *** MCS CONSTANTS / STORAGE 000D 81900020 DC X'0000' 000D 81960020 STARTMCS DC X'FF' 000D 82020020 DS 0D 000D 82080020 * 2740 CONSOLE 000D 82140020 CCW2740 DC X'01' 2740 CCW 000D 82200020 MSGBUFAD DC AL3(PRTIMAGE-IEAMCH00) DATA ADDRESS 000E 82260020 DC XL4'2C' S21021 82320021 COUNT EQU MSGBFRAD+5 000E 82380020 SPACE 1 000D 82440020 DC X'01' USED IF HARDCOPY DEVICE 000D 82500020 DUPLIC DC AL3(PRTIMAGE-IEAMCH00) DATA ADDRESS 000E 82560020 DC XL4'2C' S21021 82620021 SPACE 1 000D 82680020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 82800020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 82860020 * 000D 82920020 *** PRINT HARDCOPY ROUTINE 000D 82980020 * 000D 83040020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 83100020 LTR WORK1,WORK1 IS IT ZERO 000D 83160020 BCR CC8,LINKREG RETURN 000D 83220020 ST WORK1,AD72 STORE IN CAW 000D 83280020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 83330021 SIO AD0(MSGCUA) START DEVICE S21021 83332021 LA WORK1,HEX40 COUNT S21021 83340021 SLL WORK1,K10 POSITION 000D 83400020 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 83460020 BC CC8,FREE BRANCH--FREE 000D 83520020 BCT WORK1,PRTHC1 TRY AGAIN 000D 83580020 FREE BR LINKREG RETURN S21021 83640021 EJECT 000D 83820020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 83880020 SPACE 1 000D 83940020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 84000020 S WORK1,FOUR GET ADDRESS UCM BASE 000D 84060020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 84120020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 84180020 BC CC8,CUAEXIT YES, INVALID 000D 84240020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 84300020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 84360020 BAL RF,CHKAVAIL CONSOLE AVAILABLE 000D 84420020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 84480020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 84540020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 84600020 BAL RF,CHKAVAIL CONSOLE AVAILABLE 000D 84660020 SPACE 2 000D 84720020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 84780020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 84840020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 84900020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 84960020 LTR WORK2,WORK2 SYSLOG ONLY A31693 85020020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 85080020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 85140020 BAL RF,CHKAVAI CONSOLE AVAILABLE 000D 85200020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 85260020 BC CC1,CUAEXIT BRANCH--NO 000D 85320020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 85380020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 85440020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 85500020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 85560020 L WORK1,HCCCWADR CCW ADDRESS 000D 85620020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 85680020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 85740020 BC CC15,CUAEXIT EXIT 000D 85800020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 85860020 BC CC15,CUAEXIT EXIT 000D 85920020 SPACE 1 000D 85980020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 86040020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 86100020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 86160020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 86220020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 86280020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 86340020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 86400020 BC CC1,UCBADD BRANCH--YES 000D 86460020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 86520020 BC CC1,UCBADD BRANCH--YES 000D 86580020 BC CC15,CHKA BRANCH 000D 86640020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 86700020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 000D 86760020 CHKA EQU * 000D 86820020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 86880020 BCR CC15,RF RETURN 000D 86940020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 87000020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 87060020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 87120020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 87180020 BNE UCBADD1 BRANCH --NO 000E 87240020 L WORK4,K28(WORK4) POINTER TO DCM 000E 87300020 SR PARMREG1,PARMREG1 CLEAR 000E 87360020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 87420020 L WORK1,K20(WORK4) CCW CHAIN POINTER 000E 87480020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 87540020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 87600020 AR PARMREG1,WORK1 CCW ADDRESS 000E 87660020 MVC K1(K3,PARMREG1),MSGBFRAD MESSAGE ADDRESS 000E 87720020 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 87780020 B SAVECCW CONTINUE 000E 87840020 UCBADD1 EQU * 000E 87900020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 87960020 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 000D 88020020 BC CC7,SAVECCW BRANCH--NO 000D 88080020 LA WORK1,CCW2740 ADDRESS OF 2740 CCW 000D 88140020 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADR 000D 88200020 LR WORK1,WORK3 RESTORE WORK1 POINTWER 000D 88260020 BCR CC15,RF RETURN 000D 88320020 EJECT 000D 88380020 *********************************************************************** 88440020 * *000C 88500020 * APPENDAGE ROUTINE *000C 88560020 * THIS ROUTINE GETS CONTROL FROM NIP AND MOVES THE NECESSARY *000C 88620020 * *000C 88680020 * IT ALSO RELOCATES ALL ADDRESS CONSTANTS TO A TRUE VALUE *000C 88740020 * RELATIVE TO THE ADDRESS CONTAINED IN REGISTER 0. NIP PASSES IN *000C 88800020 * REG 0 THE ADDRESS OF WHERE SER IS TO RESIDE. THIS ROUTINE THEN *000C 88860020 * MOVES THE SER PROGRAM TO THAT ADDRESS. REGISTER 0 IS THEN SET *000C 88920020 * TO CONTAIN THE ADDRESS OF THE FIRST BYTE AFTER THE SER MODULE *000C 88980020 *******************************************************************000C 89040020 SPACE 2 000C 89100020 DS 0H 000C 89160020 USING *,RF 000C 89220020 IFBINIT LA 1,ADDLIST LOAD ADDRESS OF LIST 000C 89280020 XR R2,R2 CLEAR 000D 89340020 LH R3,ADDLIS DIVIDEND 000D 89400020 LA R4,K4 DIVISOR 000D 89460020 DR R2,R4 DIVIDE TABLE LENGTH 000D 89520020 LR R4,R3 PUT COUNT IN REG 4 000D 89580020 ADDREL L 2,0(1) LOAD ADDRESS 000C 89640020 MVC ADDBUF+1(3),0(2) MOVE ADDRESS TO BUFFER 000C 89700020 L 3,ADDBUF LOAD ADDRESS 000C 89760020 AR 3,0 RELOCATE 000C 89820020 ST 3,ADDBUF STORE IN BUFFER 000C 89880020 MVC 0(3,2),ADDBUF+1 MOVE TO ADDRESS 000C 89940020 LA 1,4(1) GO TO NEXT ADDRESS 000C 90000020 BCT 4,ADDREL BRANCH UNTIL FINISHED 000C 90060020 L R1,CHADDRES LOAD ADDRESS OF EXTERNS 000C 90120020 MVC 0(4,R1),X'80' MOVE IN ADDR OF CHAN CONFIG000C 90180020 L CVTREG,X'10' LOAD ADDRESS OF CVT 000C 90240020 ST CVTREG,4(R1) STORE IN PROGRAM 000C 90300020 L R1,IOBADD LOAD ADDRESS OF SER IOB 000C 90360020 L 3,CVTDCB LOAD ADDRESS OF DCB SER 000C 90420020 SLL 3,8 SHIFT OUT 000C 90480020 SRL 3,8 SYSTEM ID 000C 90540020 ST 3,0(R1) STORE IN SER PROGRAM 000C 90600020 L 3,STARTPRG CURRENT START OF PROGRAM 000C 90660020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 90720020 BC CC1,INCOM BRANCH-- YES 000D 90780020 L R1,BYTENUMB NUMBER OF BYTES WITH MCS 000D 90840020 L R4,LASTBYTE LAST ADR WITH MCS A36397 90890021 L RC,CVTCUCB UCM ADDRESS 000D 90900020 TM UCMMODE(RC),MCSMODE MCS IN SYSTEM 000D 90960020 BC CC1,INCOM0 BRANCH--YES 000D 91020020 INCOM L R1,BYTENUM NUMBER OF BYTES WITHOUT MCS000D 91080020 L R4,LASTBYT LAST ADR WITHOUT MCS A36397 91130021 INCOM0 EQU * 000D 91140020 LR RC,R0 INTENDED START OF PROGRAM 000D 91200020 LA 2,256 MOVE IN BLOCKS OF 256 BYTES000C 91260020 INCOMPAR CR 1,2 BYTES LESS OR EQ TO 256 000C 91320020 BC 12,MOVEEND YES, BRANCH 000C 91380020 MVC 0(256,12),0(3) MOVE 256 BYTES 000C 91440020 LA 3,256(3) UPDATE CURRENT POINTER 000C 91500020 LA 12,256(12) UPDATE DESTINATION POINTER 000C 91560020 SR 1,2 SUBTRACT 256 BYTES 000C 91620020 BC 12,ENDPROG LESS OR EQ TO ZERO, BRANCH 000C 91680020 BC 15,INCOMPAR BRANCH TO KEEP MOVING 000C 91740020 SPACE 1 91800020 MOVEEND BCTR 1,0 SUBTRACT ONE FROM BYTES 000C 91860020 STC 1,*+5 STORE IN INSTRUCTION 000C 91920020 MVC 0(1,12),0(3) MOVE RESIDUE 000C 91980020 ENDPROG LR R0,R4 ADDRESS OF LAST BYTE A36397 92040021 BCR 15,14 BRANCH BACK 000C 92100020 SPACE 1 000C 92160020 * CONSTANTS FOR APPENDAGE ROUTINE ONLY 000C 92220020 STARTPRG DC A(IEAMCH00) 000C 92280020 BYTENUMB DC AL4(IFBINIT-IEAMCH00) 000C 92340020 BYTENUM DC AL4(STARTMCS-IEAMCH00) 000D 92400020 CHADDRES DC A(CHCONFIG) 000C 92460020 IOBADD DC A(IOBDCBP) 000C 92520020 LASTBYTE DC X'00' 000C 92580020 IEAMCHAD DC AL3(IFBINIT-IEAMCH00) 000C 92640020 LASTBYT DC X'00' A36397 92690021 IEAMCHA DC AL3(STARTMCS-IEAMCH00) A36397 92692021 ADDLIS DC Y(ADDBUF-ADDLIST) 000D 92700020 DS 0F 000D 92760020 SPACE 1 92820020 ADDLIST DC AL4(SERCAA) 000C 92880020 DC AL4(SERCBA) 000E 92940020 DC AL4(PTYCHKAD) 000C 93000020 DC AL4(IEAMCADR) 000C 93060020 DC AL4(MSGBFRAD) 000D 93120020 DC AL4(IOBADDRS) 000C 93180020 DC AL4(SESCDADD) 000C 93240020 DC AL4(STARADDR) 000C 93300020 DC AL4(DSRCCADD) 000C 93360020 DC AL4(SKADDRAD) 000C 93420020 DC AL4(HDRCCWAD) 000C 93480020 DC AL4(HDRRECAD) 000C 93540020 DC AL4(SKADRAD1) 000C 93600020 DC AL4(HDRCCWA1) 000C 93660020 DC AL4(HDRRECA1) 000C 93720020 DC AL4(SKADRAD2) 000C 93780020 DC AL4(WRTCCWAD) 000C 93840020 DC AL4(CTFLDADD) 000C 93900020 DC AL4(SKADRAD3) 000C 93960020 DC AL4(EOFCCWAD) 000C 94020020 DC AL4(EOFRECAD) 000C 94080020 DC AL4(IOBECADR) 000C 94140020 DC AL4(SERBADDR) 000C 94200020 DC AL4(IEAMCHAD) 000C 94260020 DC AL4(MSGBUFAD) 000D 94320020 DC AL4(IEAMCHA) A36397 94370021 DC AL4(DUPLIC) 000D 94380020 ADDBUF DC F'0' 000C 94440020 END IFBINIT 000C 94500020 ./ ADD SSI=02013268,NAME=IFBSR150,SOURCE=0 TITLE 'IFBSR150,SER1/SYS ENVIRONMENT RECORD - MIN/INT(MOD 50)' 00060020 *STATUS: CHANGE LEVEL 0 * 00120020 *FUNCTION/OPERATION: SYSTEM ENVIRONMENT RECORDING (CORE RESIDENT). * 00180020 * THIS MODULE IS DESIGNED TO SAVE THE MACHINE ENVIRONMENT ON A * 00240020 * MACHINE CHECK OR AN I/O INBOARD ERROR. ON A MACHINE CHECK, THE * 00300020 * HARDWARE LOGOUT AND PERTINANT INFORMATION-SUCH AS GP AND FP REGS, * 00360020 * PROGRAM ID, ACTIVE I/O UNITS, ETC.- WILL BE GATHERED INTO A * 00420020 * MACHINE CHECK RECORD ENTRY AND WRITTEN ONTO THE LOGREC DATA SET. * 00480020 * ON AN I/O INBOARD ERROR, THE CHANNEL LOGOUT (IF ANY) AND PERTINANT* 00540020 * INFORMATION -SUCH AS PROGRAM ID, ACTIVE I/O UNITS, ETC. -WILL BE * 00600020 * GATHERED INTO AN I/O INBOARD RECORD ENTRY AND WRITTEN ONTO THE * 00660020 * LOGREC DATA SET. * 00720020 * THIS PROGRAM WILL GAIN CONTROL VIA THE MCI NEW PSW. IF CONTROL * 00780020 * WAS GAINED BY A MACHINE CHECK, SER1 WILL GENERATE A MACHINE CHECK * 00840020 * RECORD ENTRY. THIS RE WILL BE WRITTEN OUT ON THE LOGREC DATA SET * 00900020 * FOR LATER EDITING. IF CONTROL WAS GAINED VIA IOS, AN I-O INBOARD * 00960020 * RECORD ENTRY WILL BE GENERATED. THIS WILL BE WRITTEN ON THE * 01020020 * LOGREC DATA SET. ALL WRITING AND READING FROM THE DATA SET * 01080020 * WILL BE DONE USING EXCP. * 01140020 *ENTRY POINTS: SER1 CAN BE ENTERED ONLY THROUGH THE MCI NEW PSW. * 01200020 * BYTE 50 OF THE MCI OLD PSW WILL BE SET TO AN X'FF' BY NIP. IF * 01260020 * A MACHINE CHECK OCCURS, BYTE 50 WILL BE ALTERED TO REFLECT BYTE * 01320020 * 3 OF THE MCI OLD PSW. IF AN I-O CHANNEL ERROR OCCURS, IOS WILL * 01380020 * ENTER SER1 BY EXECUTING A LPSW FROM THE MCI NEW PSW. IN THIS * 01440020 * CASE, BYTE 50 WILL STILL CONTAIN A X'FF'. SER1 WILL CHECK BYTE * 01500020 * 50 TO DETERMINE WHETHER A MACHINE CHECK OR AN I-O INBOARD RECORD * 01560020 * ENTRY IS TO BE GENERATED. * 01620020 *INPUT: THE ONLY INPUT USED BY SER1 IS THE CPU LOG, THE CHANNEL LOG * 01680020 * AND BYTE 50. * 01740020 *OUTPUT: SER1 WILL WRITE THE RECORD ENTRY ON SYSTEM RESIDENCE, IN THE * 01800020 * LOGREC DATA SET. IF SER1 IS GOING TO ABORT THE SYSTEM, IT WILL * 01860020 * TYPE A MESSAGE ON THE PRIMARY OUTPUT DEVICE (USING AN INTERNAL * 01920020 * PRINT ROUTINE). * 01980020 *EXTERNAL ROUTINES: * 02040020 * EXCP--USED FOR READING AND WRITING ON LOGREC DATA SET * 02100020 * IEABTERM-USED TO TERMINATE PROBLEM PROGRAM TASK * 02160020 * PURGE--USED TO HALT I/O ON THE TASK TO BE TERMINATED 02220020 *EXITS-NORMAL: SER1 WILL ENTER ABTERM(IEABTERM) IF THE MACHINE CHECK * 02280020 * OCCURRED WITHIN A PROBLEM PROGRAM, OR WITHIN THE SUPERVISOR STATE * 02340020 * WITH ALL CHANNELS ENABLED AND NO BAD PARITY STORED IN THE SUPER- * 02400020 * VISOR. IN THIS CASE, SER1 WILL PASS A COMPLETION CODE OF * 02460020 * TO ABTERM, AND SET THE RETURN ADDRESS TO THE DISPATCHER(IEAOOS). * 02520020 *EXITS-ERROR: IF SER1 IS ENTERED TO RECORD AN I-O INBOARD FAILURE, * 02580020 * OR AN UNRECOVERABLE MACHINE CHECK OCCURRED, SER1 WILL ENTER THE * 02640020 * WAIT STATE AFTER RECORDING THE RECORD ENTRY. PRIOR TO ENTERING * 02700020 * THE WAIT STATE, SER1 WILL TYPE AN ERROR MESSAGE ON THE PRIMARY * 02760020 * OUTPUT DEVICE. * 02820020 *TABLES/WORK AREAS: NA * 02880020 *ATTRIBUTES: * 02940020 * 1. REUSABLE * 03000020 *NOTES: * 03060020 * SER1 USES EXCP TO READ FROM AND WRITE ONTO THE LOGREC DATA SET. * 03120020 * THE DCB AND DEB USED ARE SET UP BY NIP. WHEN SER1 CANNOT ABTERM * 03180020 * THE CURRENT TASK, IT WILL ENTER THE WAIT STATE. OS/360 MUST BE * 03240020 * RELOADED-IT CANNOT CONTINUE. * 03300020 * * 03320021 * PUBLICATIONS: MFT SUPERVISOR GY27-7236 * 03340021 EJECT 03360020 * HEADER RECORD AREA * 03410021 * ***************************************************************** 03412021 * * * * HIGH * 03414021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 03416021 * * * (CCHH) * (CC) * 03418021 * ***************************************************************** 03418421 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 03418821 * +8 * (CONT.) * * (BBCCHHR) * 03419221 * * (HH) * * * 03419621 * ***************************************************************** 03419721 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 03419821 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 03419921 * * (CONT.) * TRACK * TRACK * WRITTEN * 03439921 * ***************************************************************** 03449921 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 03459921 * +24 * WRITTEN (CONT.) * PER * WARN. * 03466621 * * * CYLINDER * CNT. * 03468621 * ***************************************************************** 03470621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 03472621 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 03473021 * * CNT. * CODE * * SWT. * (FF) * 03473121 * ***************************************************************** 03473221 EJECT 03489921 * CPU RECORD ENTRY AREA * 03506621 * ***************************************************************** 03523321 * * CLASS * SYS- * * * 03540021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 03590021 * * * RLSE. * * * 03600021 * ***************************************************************** 03720020 * * * * 03780020 * +8 * DATE * TIME * 03840020 * * * * 03900020 * ***************************************************************** 03960020 * * * * * * 04020021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 04070021 * * * * * * 04080021 * ***************************************************************** 04130021 * * * 04140021 * +24 * PROGRAM IDENTITY * 04190021 * * * 04200021 * ***************************************************************** 04250021 * * * 04260021 * +32 * JOB IDENTITY * 04310021 * * * 04320021 * ***************************************************************** 04370021 * * * 04380021 * +40 * MACHINE CHECK OLD PSW * 04430021 * * * 04440021 * ***************************************************************** 04490021 * * * 04500021 * +48 * VARIABLE LOGOUT FIELD * 04550021 * * * 04560021 * ***************************************************************** 04610021 * * * 04620021 * * MCH * 04670021 * * DAMAGE ASSESSMENT * 04680021 * * * 04730021 * ***************************************************************** 04740021 EJECT 000C 06660020 SPACE 3 06720020 * INBOARD RECORD ENTRY AREA * 06780020 * ***************************************************************** 06840020 * * CLASS * SYS- * * * 06900021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06950021 * * * RLSE. * * * 06960021 * ***************************************************************** 07080020 * * * * 07140020 * +8 * DATE * TIME * 07200020 * * * * 07260020 * ***************************************************************** 07320020 * * * * * * 07380021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 07430021 * * * * * * 07440021 * ***************************************************************** 07490021 * * * 07500021 * +24 * JOB IDENTITY * 07550021 * * * 07560021 * ***************************************************************** 07610021 * * * 07620021 * +32 * ACTIVE I/O UNITS * 07670021 * * * 07680021 * ***************************************************************** 07730021 * * * 07740021 * +48 * FAILING CCW * 07790021 * * * 07800021 * ***************************************************************** 07850021 * * * 07860021 * +56 * CSW * 07910021 * * * 07920021 * ***************************************************************** 07970021 * * * * 07980021 * +64 * ECSW * DEVICE TYPE * 08030021 * * * * 08040021 * ***************************************************************** 08090021 * * CHAN. * * * 08100021 * +72 * IDENT * CUA * MP INFO * 08150021 * * * * 08160021 * ***************************************************************** 08210021 * * MACHINE DEPENDENT * 08220021 * +80 * CHANNEL * 08270021 * * LOG * 08280021 * ***************************************************************** 08330021 EJECT 09780020 R0 EQU 0 09840020 R1 EQU 1 09900020 R2 EQU 2 09960020 R3 EQU 3 10020020 R4 EQU 4 10080020 R5 EQU 5 10140020 R6 EQU 6 10200020 R7 EQU 7 10260020 R8 EQU 8 10320020 R9 EQU 9 10380020 RA EQU 10 10440020 RB EQU 11 10500020 RC EQU 12 10560020 RD EQU 13 10620020 RE EQU 14 10680020 RF EQU 15 10740020 SPACE 1 10800020 PARMREG0 EQU 5 PARAMETER REGISTER 10860020 PARMREG1 EQU 1 PARAMETER REGISTER 10920020 WORK1 EQU 2 WORK REGISTER 10980020 WORK2 EQU 3 WORK REGISTER 11040020 WORK3 EQU 4 WORK REGISTER 11100020 WORK4 EQU 5 WORK REGISTER 11160020 WORK6 EQU 7 WORK REGISTER 11220020 WORK5 EQU 6 WORK REGISTER 11280020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 11340020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 11400020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 11460020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 11520020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 11580020 SPACE 1 11640020 ENTRY IFBINIT 000C 11700020 EJECT 11760020 NOTDISP EQU 32 11820020 NOTDISB EQU 33 TCB NOT DISPATCHABLE 000D 11880020 NOTDEXT EQU 173 TCB NOT DISPATCHABLE EXTENSION 000D 11940020 NOTDGEN EQU X'01' GENERAL NOT DISPATCH BIT 000D 12000020 NOTDSER EQU X'20' SER TEMP NOT DISPATCH BIT 000D 12060020 NXTTCBP EQU 116 12120020 ACTTCB EQU 4 12180020 UCBACT EQU 6 12240020 IOBPTR EQU 4 12300020 STARTADR EQU 16 12360020 UCBCUA EQU 4 12420020 BASESAVE EQU 372 BASE REGISTER SAVE AREA 12480020 BASESAV1 EQU BASESAVE+4 SECOND BASE REG SAVE AREAS21021 12500021 SECBASE EQU 4095 SECOND BASE OFFSET S21021 12520021 HDWECSW EQU 64 12540020 HDWECUA EQU 58 12600020 SPACE 1 12660020 SHPC EQU 0 12720020 T4PC EQU 4 12780020 LTPC EQU 8 12840020 SPACE 1 12900020 TOPRBP EQU 0 12960020 SPACE 1 13020020 INTCEPT EQU X'44' IOS INTERCEPT CODE IN ECB 13080020 NORMAL EQU X'7F' COMPLETE CODE IN ECB 13140020 EXTENTNG EQU X'42' OUTSIDE EXTENT CODE IN ECB 13200020 SPACE 1 13260020 STANDIO EQU X'40' STANDALONE I/O BEING UTILIZED 13320020 IOCMPLTE EQU X'20' I/O OPERATION COMPLETE SWITCH 13380020 HEADEROK EQU X'10' HEADER READ AND UPDATED OK 13440020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 13500020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 13560020 HEX0 EQU X'00' S21021 13610021 HEX01 EQU X'01' S21021 13612021 HEX04 EQU X'04' 000E 13620020 HEX08 EQU X'08' S21021 13670021 HEX0F EQU X'0F' S21021 13672021 HEX16 EQU 16 S21021 13674021 HEX20 EQU X'20' 000E 13680020 HEX29 EQU 29 000E 13740020 HEX40 EQU X'40' 000E 13800020 HEX7F EQU X'7F' 000E 13860020 HEX80 EQU X'80' 000E 13920020 HEXBF EQU X'BF' 000E 13980020 HEXA0 EQU X'A0' S21021 14030021 HEXC0 EQU X'C0' S21014 14032021 HEXEF EQU X'EF' S21021 14034021 HEXFF EQU X'FF' 000E 14040020 LOC40 EQU 40 S21014 14090021 LOC43 EQU 43 S21014 14092021 LOC104 EQU 104 000E 14100020 LOC116 EQU 116 000E 14160020 CE EQU C'E' 000E 14220020 SPACE 1 14280020 DCBF0 EQU 44 14340020 DEBF2 EQU 32 14400020 DEBF4 EQU 36 14460020 UCBF3B EQU 19 DEVICE TYPE ENTRY 14520020 UCBF12 EQU 20 14580020 EXCP EQU 0 14640020 TCBTCB EQU 116 NEXT LOWER PRIORITY TCB 000E 14700020 PURGE EQU 16 SVC PURGE 000E 14760020 WTO EQU 35 SVC WTO 000E 14820020 TCBMSS EQU 24 14880020 LOWBTASK EQU 4 14940020 HIBTASK EQU 8 15000020 CPUSER1 EQU X'18' MCH RECORDING S21021 15050021 INBSER1 EQU X'28' CLASS AND SOURCE RECORD S21021 15052021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 15054021 SPACE 1 15060020 OPTION1 EQU 64 15120020 SPACE 1 15180020 OBRINPGR EQU X'08' 15240020 OBRPR EQU 299 OBR/SDR IN PRG IND OFFSET FROM SER DCB MFT/MVT 000C 15300020 SPACE 1 15360020 UCMUCB EQU 12 UCM POINTER TO UCB 15420020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 15480020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 15540021 UCMOF EQU 128 WTO SUPPORT (UCM) 15600020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 15660020 SPACE 1 15720020 DEBPT EQU 8 15780020 RDSAVE EQU 376 15840020 UCBPTR EQU 32 15900020 DEBAD EQU 44 15960020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 16020020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 16080020 SPACE 1 16140020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 16200020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 16260020 UCBTYPE EQU 16 S21021 16310021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000D 16320020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 16380020 UCMMODE EQU X'44' UCM FLAGS A47227 16440021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 16500020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 16560020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 16620020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 16680020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 16740020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 16800020 UCMHRDT EQU X'40' UCM HARD COPY 000D 16860020 UCMSTS EQU 24 000D 16920020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 16980020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 17040020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 17100020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 17160020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000D 17220020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 17280020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 17340020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 17400020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 17460020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 17520020 RQEAV EQU X'20' 000D 17580020 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 17640020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 17700021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 17750021 IOBERR EQU X'20' IOB ERP INDICATOR 23243 17760020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 17820020 EJECT 17880020 * EQUATES USED FOR CONDITION CODES 17940020 CC1 EQU 1 000D 18000020 CC6 EQU 6 000D 18060020 CC7 EQU 7 000D 18120020 CC8 EQU 8 000D 18180020 CC9 EQU 9 000D 18240020 CC15 EQU 15 000D 18300020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 18360020 AD0 EQU 0 000D 18420020 AD1 EQU 1 000D 18480020 AD2 EQU 2 000E 18540020 AD3 EQU 3 S21021 18590021 AD4 EQU 4 000D 18600020 AD5 EQU 5 000D 18660020 AD6 EQU 6 000D 18720020 AD8 EQU 8 000D 18780020 AD9 EQU 9 S21021 18830021 AD11 EQU 11 000E 18840020 AD12 EQU 12 000D 18900020 AD16 EQU 16 000E 18960020 AD20 EQU 20 000E 19020020 AD56 EQU 56 000D 19080020 AD72 EQU 72 000D 19140020 AD80 EQU 80 A38648 19170021 AD124 EQU 124 000D 19200020 * EQUATES USED FOR CONSTANTS 19260020 K2 EQU 2 000D 19320020 K4 EQU 4 000D 19380020 K5 EQU 5 000D 19440020 K8 EQU 8 000E 19500020 K9 EQU 9 S21021 19550021 K10 EQU 10 000D 19560020 K12 EQU 12 S21021 19610021 KFF EQU X'FF' 000D 19620020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 19680020 M1 EQU 1 S21021 19730021 M2 EQU 2 000D 19740020 M3 EQU 3 000D 19800020 M4 EQU 4 S21021 19850021 M6 EQU 6 000D 19860020 M7 EQU 7 S21021 19910021 M8 EQU 8 000E 19920020 M12 EQU 12 000D 19980020 M16 EQU 16 000E 20040020 M14 EQU 14 000D 20100020 M23 EQU 23 S21021 20160021 M29 EQU 29 S21021 20210021 M44 EQU 44 S21021 20212021 M56 EQU 56 S21021 20214021 M90 EQU 90 000E 20220020 M91 EQU 91 000E 20280020 M98 EQU 98 000E 20340020 K1 EQU 1 000E 20400020 K3 EQU 3 000E 20460020 K6 EQU 6 000E 20520020 K20 EQU 28 000E 20580020 K28 EQU 28 000E 20640020 SPACE 1 20700020 EJECT 20760020 IFBSER1 CSECT 20820020 *0121 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 20880021 *0277 035400-036600,040200-066000,069000-070200,073800-097200, S21021 20930021 * 177000,201600,238000,242400,246000,253200-253800,276600, S21021 20940021 * 282600,284400,291000,293400-307800,310200,312600, S21021 20990021 * 319800-323400,325800-326400,397800,399000,428400,441600, S21021 21000021 * 476400-482400,485400,491400,492600-493200,495600, S21021 21050021 * 500400-501000,502200,503400-505800,531000,549000-549600, S21021 21060021 * 553800-555600,574800,576000-576600,589800,591000,606000, S21021 21110021 * 631200,711600,718800,725400,735600-740400,756000, S21021 21120021 * 759600-762000,763800,765000-767400,769200,777600, S21021 21170021 * 778800-809400,814800,823200,864000,871800,874200,875400 S21021 21180021 * 969000 A36397 21230021 USING CVTDSECT,CVTREG 22200020 CVTDSECT DSECT 22260020 EQUATE CVT SYS=MIN 22320020 IFBSER1 CSECT 22380020 EJECT 22440020 *********************************************************************** 22500020 *** *** 22560020 ***** INITIAL ENTRY POINT FROM NEW MACHINE CHECK PSW ***** 22620020 *** *** 22680020 *********************************************************************** 22740020 USING *,RD,RE S21021 22800021 IEAMCH00 DS 0C 22860020 IEAMCH DC X'83000F90' DIAGNOSE ONE SECTOR OF LOC ST 22920020 * THE ABOVE DIAGNOSE INSTRUCTION WILL BE EXECUTED TWICE IF ENTRY 22980020 * TO SER1 WAS THE RESULT OF A MACHINE CHECK. INITIAL ENTRY WILL 23040020 * CAUSE THE GP REGISTERS TO BE LOGGED OUT. SECOND ENTRY WILL 23100020 * BE CAUSED BY SER1 AND WILL RESULT IN THE FP REGISTERS BEING 23160020 * LOGGED. 23220020 DS 32F DIAGNOSE LOGOUT AREA 23280020 DC XL4'1F72' EXIT TO I FETCH 23340020 FPSWITCH BC 0,FPRETURN BRANCH IF NOT INITIAL ENTRY 23400020 LM R0,RF,0 CLEAR POTENTIAL BAD PARITY 23460020 L RD,116 SET BASE REG FROM MCI NEW PSW 23520020 SPACE 1 23580020 OI 105,X'02' SET WAIT BIT IN PI NEW PSW 23640020 LA RE,SECBASE(RD) OFFSET SECOND BASE REG S21021 23700021 LA RE,HEX01(RE) PLUS ONE S21021 23710021 STM RD,RE,BASESAVE SAVE BASE REGS S21021 23720021 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 23750021 TM 50,X'FF' TEST FOR CHANN TYPE ENTRY 23760020 BC 14,STARTC BRANCH--NOT CHANNEL TYPE 23820020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 23880021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 23930021 MVC INLOG(48),136 MOVE CHANNEL LOG TO RE AREA 23940020 BC 15,STARTB 24000020 STARTC MVC CPULOG(164),132 MOVE LOGOUT TO RE AREA 24060020 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CHAN ERROR S21021 24110021 MVC MCIOPSW(8),48 SAVE MCI OLD PSW IN RE AREA 24120020 MVC EOFRECRD+2(2),114 SAVE INTERRUPT CODE FIELD-EOF 24180020 STARTB OI SW1,RECINC SET INCOMP RECORD IND S21021 24240021 MVC 112(8),DSRCA SETUP NEW MACHINE CHECK PSW 24300020 LPSW DSRCA ENABLE MCI'S 24360020 SERB MVC 112(8),SERCA SETUP NEW MACHINE CHECK PSW 24420020 MVC SESCE(8),104 SAVE NEW PROG INT PSW 24480020 MVC LOC104(K8),SERCB SET NEW PRGM CHK PTR A 000E 24540020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 24600021 BC 8,SERP BRANCH--CHANNEL CHECK RECORDING 24660020 LA LINKREG,SERP SET PCI RTN TO SERP A 000E 24720020 EJECT 24780020 ***** COMPACT THE OUTPUT OF THE DIAGNOSED LOCAL STORE SECTOR 24840020 SPACE 1 24900020 LA WORK1,16 NUMBER OF WORDS TO PACK 24960020 LA WORK2,GPREGS COMPACTED OUTPUT ADDRESS IN RE 25020020 BAL WORK6,LSREGS COMPACT FULL WORDS C 000E 25080020 LA WORK1,8 NUMBER OF FOLD PAIRS TO PACK 25140020 LA WORK2,GPRPAR COMPACTED OUTPUT ADDRESS IN RE 25200020 BAL WORK6,LSFOLD COMPACT FOLD AREA IN RE C 000E 25260020 BC 15,DIAGFP BRANCH TO GET FP REGISTERS 25440020 SPACE 1 25500020 LSREGS LA WORK3,IEAMCH+4 START OF DIAGNOSED INFORMATION 25560020 MVC 0(4,WORK2),0(WORK3) MOVE BITS 0-27 W/PARITY TO RE 25620020 LA WORK2,4(WORK2) UPDATE RE OUTPUT ADDRESS 25680020 LA WORK3,8(WORK3) UPDATE DIAG. INFO. ADDRESS 25740020 BCT WORK1,LSREGS+4 BRANCH TO GET NEXT REGISTER 25800020 BR WORK6 RETURN C 000E 25860020 SPACE 1 25920020 LSFOLD LA WORK3,IEAMCH+8 START OF DIAGNOSED FOLD BITS 25980020 IC WORK4,3(WORK3) LOAD BITS 28-31 OF EVEN REGS 26040020 SLL WORK4,4 POSITION FOLD BITS 26100020 IC WORK4,11(WORK3) LOAD BITS 28-31 OF ODD REGS 26160020 SRL WORK4,4 POS. FOLD BITS ON BYTE BOUNDARY 26220020 STC WORK4,0(WORK2) STORE FOLD BITS IN RE AREA 26280020 LA WORK3,16(WORK3) UPDATE DIAG. INFO. ADDRESS 26340020 LA WORK2,1(WORK2) UPDATE RE OUTPUT ADDRESS 26400020 BCT WORK1,LSFOLD+4 BR TO GET NEXT FOLD BITS 26460020 BR WORK6 RETURN C 000E 26520020 SPACE 1 26580020 ***** SETUP AND DIAGNOSE FP SECTOR OF LOCAL STORE 26640020 SPACE 1 26700020 DIAGFP MVI IEAMCH+3,X'D0' MOD. DIAG. INST. FOR FP REGS 26760020 MVI FPSWITCH+1,X'F0' SET BR INSTRUCTION TO RETURN 26820020 BC 15,IEAMCH BR TO DIAGNOSE FP AREA OF LS 26880020 FPRETURN LA WORK1,8 NUMBER OF WORDS TO PACK 26940020 LA WORK2,FPREGS COMPACTED OUTPUT ADDRESS IN RE 27000020 BAL WORK6,LSREGS COMPACT FULL WORDS C 000E 27060020 LA WORK1,4 NUMBER OF FOLD PAIRS TO PACK 27120020 LA WORK2,FPRPAR COMPACTED OUTPUT ADDRESS IN RE 27180020 BAL WORK6,LSFOLD COMPACT FOLD AREA IN RE C 000E 27240020 SPACE 1 27300020 LD R0,0 CLEAR POTENTIAL BAD PARITY 27360020 LD R2,0 CLEAR POTENTIAL BAD PARITY 27420020 LD R4,0 CLEAR POTENTIAL BAD PARITY 27480020 LD R6,0 CLEAR POTENTIAL BAD PARITY 27540020 EJECT 27600020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 27660021 SPACE 1 27720020 SERP LA LINKREG,SERH SET PCI RTN PTR TO SERH A 000E 27780020 L CVTREG,INTCVTPT GET ADR COM VCTR TABLE A 000E 27840020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 27890021 S WORK1,FOUR GET NEG OFFSET S21021 27892021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 27894021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 27896021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 27898021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 27898421 STC WORK1,SYSREL PUT IN RECORD S21021 27898821 MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY AREA 27900020 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 27960020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 28020020 ST TCBREG,PURGPARM+4 STORE TCB ADDR IN PURGE LIST 28080020 SPACE 1 28140020 ***** COMPUTE LOCAL TIME OF DAY FOR RECORD ENTRY 28200020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 28260021 SPACE 1 28310021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 28312021 XR WORK1,WORK1 CLEAR REGISTER 28320020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 28380020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 28440021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 28500020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 28560020 L WORK3,80 LOAD HARDWARE TIMER 28620020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 28680020 SLR WORK2,WORK3 SUBTRACT TIMER 28740020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 28800020 BC 3,TADJUST BRANCH ON OVERFLOW 28860020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 28920020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 28980020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 29040020 SRL R3,1 CONVERT TO BIN S21021 29100021 M R2,TD10E5 S21021 29150021 D R2,TDCNVR S21021 29152021 LA R1,32 INITIALIZE LOOP S21021 29154021 L R6,TDIV INITIALIZE REG. S21021 29156021 TDVD SR R2,R2 CLEAR REG S21021 29158021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 29158421 LR R4,R2 S21021 29158821 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 29159221 SH R1,*-2 DECREMENT BY 4 S21021 29159621 LTR R3,R3 IS DIVIDEND 0 S21021 29159721 BZ TDENDCNV YES-BRANCH S21021 29159821 C R1,TD24 IS COUNT =24 S21021 29159921 BNL TDVD BRANCH IF NOT S21021 29179921 X R6,TD12 ALT. DIVISION S21021 29189921 B TDVD S21021 29199921 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 29206621 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 29208621 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 29210621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 29212621 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 29213021 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 29213121 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 29213221 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 29229921 MVI TIMAGE,C',' SET COMMA S21021 29239921 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 29241921 SPACE 1 29246621 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 29263321 SPACE 1 29280020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 29340021 BE CSERB YES - BRANCH S21021 29390021 SPACE 1 30840020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 30900020 SPACE 1 30960020 SERG LA LINKREG,FAILTCB SET PCI RTN PTR S21021 31020021 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 31080020 XR WORK2,WORK2 CLEAR REGISTER 31140020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 31200020 BE FAILTCB BRANCH IF ILLEGAL S21021 31260021 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 31320020 BC 7,*+6 BR--RB IS NOT A PRB 31380020 LR WORK2,WORK1 SAVE PRB ADDRESS 31440020 MVI RBLINK(WORK1),0 CLEAR RB WAIT COUNT 31500020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 31560020 BC 1,ENDRBLST BR--END OF RB LIST 31620020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 31680020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 31740020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 31800020 BC 8,FAILTCB BRANCH TO TCB 000C 31860020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE AREA 31920020 ***** GET JOBNAME IN PROPER AREA 31980021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 32030021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 32040021 SPACE 3 32400020 ***** DETERMINE STATE OF SYSTEM AT INTERRUPT TIME 32460020 SPACE 1 32520020 TM MCIOPSW,HEXFF IS SYSTEM DISABLED 000E 32700020 BNO SERLI YES LOAD A WAIT STATE 000E 32760020 L WORK3,CVTCUCB GET UCM ADDRESS A44512 32770021 C TCBREG,HEX40(WORK3) IS IT COMTASK A44512 32780021 BE SERLI YES-LOAD WAIT STATE A44512 32790021 CLI CPULOG+116,0 TEST ONE BYTE OF SEL CHANN LOG 32820020 BC 7,SERLK BRANCH--SELECTOR CHANNEL RESET 32880020 CLC CPULOG+116(47),CPULOG+117 TEST ENTIRE SEL CHANN LOG AREA 32940020 BC 7,SERLK BRANCH--SELECTOR CHANNEL RESET 33000020 TM CPULOG+114,X'80' TEST MPX POLLING TRIGGER 33060020 BC 8,SERLK BRANCH--MPX CHANN NOT POLLING 33120020 TM CVTDCB,OPTION1 PCP SYSTEM 000C 33180020 BC 1,OBRPCP YES, BRANCH 000C 33240020 L WORK3,CVTDCB ADDRESS OF SER DCB 000C 33300020 TM OBRPR(WORK3),OBRINPGR TEST IF OBR/SDR IN PROGRESS000C 33360020 BC 15,OBRPCP+4 BRANCH 000C 33420020 OBRPCP TM EOFRECRD+2,OBRINPGR TEST IF OBR/SDR IN PRG/PCP 000C 33480020 BE OBRPCPA C 000E 33540020 OI IORCD,HEX40 SET OBR/SDR IN PROGRESS C 000E 33600020 OBRPCPA EQU * C 000E 33660020 SPACE 1 33720020 ***** CHECK FOR PARITY ERRORS IN MAIN STORAGE 33780020 SPACE 1 33840020 **************************************************************** B 000E 33900020 **************************************************************** B 000E 33960020 * B 000E 34020020 * B 000E 34080020 * TEST THE NUCLEUS FOR BAD PARITY B 000E 34140020 * B 000E 34200020 PTYCHK LA WORK1,PTYCHK2 SET UP LOAD PSW ! 000E 34260020 ST WORK1,MSCHKPSW+AD4 B 000E 34320020 LA WORK1,PTYCHK5 SET UP NEW MC PSW B 000E 34380020 ST WORK1,LOC116 IN LOW CORE B 000E 34440020 SR WORK1,WORK1 GET START ADDR B 000E 34500020 PTYCHK1 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 34560020 PTYCHK2 LA WORK1,AD16(WORK1) UP POINTER BY 16 B 000E 34620020 CL WORK1,CVTNUCB ARE WE AT END OF NUC B 000E 34680020 BL PTYCHK1 NO LOOP ON B 000E 34740020 TM IORCD,HEX20 YES ANY ERRORS B 000E 34800020 BO SERLI YES LOAD A WAIT STATE B 000E 34860020 * B 000E 34920020 * B 000E 34980020 **************************************************************** B 000E 35040020 **************************************************************** B 000E 35100020 * B 000E 35160020 * B 000E 35220020 * B 000E 35280020 * TEST THE CURRENT TCB'S REGION OR PARTITION B 000E 35340020 * B 000E 35400020 LA WORK1,PTYCHK4 SET UP LOAD PSW AGAIN B 000E 35460020 ST WORK1,MSCHKPSW+AD4 B 000E 35520020 LA WORK1,PTYCHK6 SET UP NEW MC PSW B 000E 35580020 ST WORK1,LOC116 B 000E 35640020 * THE FOLLOWING TEST IS TO HANDLE WAIT STATE MACHINE CHECKS 35650021 C TCBREG,AD0(TCBREG) TEST FOR WAIT TCB A56526 35660021 BE PTYCHK4A YES-BRANCH AROUND A56526 35670021 L WORK1,TCBMSS(TCBREG) FIND BOUNDARIES B 000E 35700020 L WORK6,HIBTASK(WORK1) POINTER TO HI BOUND B 000E 35760020 L WORK1,LOWBTASK(WORK1) POINTER TO LOW BOUND B 000E 35820020 ST WORK6,CHKTCB1 SAVE IT FOR COMPARE B 000E 35880020 SR WORK6,WORK6 CORRECTON FACTOR B 000E 35940020 PTYCHK3 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 36000020 PTYCHK4 LA WORK1,AD16(WORK1) BUMP ADDRESS BY 16 B 000E 36060020 CL WORK1,CHKTCB1 ARE WE DONE WITH REGION B 000E 36120020 BL PTYCHK3 NO LOOP BACK FOR MORE B 000E 36180020 PTYCHK4A MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH PSW A56526 36240021 B SYSTEMIO ALL DON E GO ON TO ABEND B 000E 36300020 * B 000E 36360020 PTYCHK5 OI IORCD,HEX20 TURN ON ERROR IN NUC B 000E 36420020 L WORK1,CVTNUCB SET WORK1 TO STOP TST B 000E 36480020 MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH CHK PSW B 000E 36540020 B PTYCHK7 LOAD PSW AND GO ON B 000E 36600020 * B 000E 36660020 PTYCHK6 AR WORK2,WORK6 ADD ZERO TO RESET PARITY B 000E 36720020 AR WORK3,WORK6 ADD ZERO TO RESET PARITY B 000E 36780020 AR WORK4,WORK6 ADD ZERO TO RESET PARITY B 000E 36840020 AR WORK5,WORK6 ADD ZERO TO RESET PARITY B 000E 36900020 STM WORK2,WORK5,AD0(WORK1) STOW BACK CORRECTS PRTY B 000E 36960020 PTYCHK7 LPSW MSCHKPSW GO ON TESTING B 000E 37020020 * B 000E 37080020 * B 000E 37140020 **************************************************************** B 000E 37200020 SPACE 3 37250021 *********************************************************************** 37252021 RECOMP L WORK3,K12(TCBREG) LOAD ADDR OF TIOT S21021 37254021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 37256021 TM IORCD,HEX80 TEST FOR PCI ERRORS S21021 37258021 BO RECOMPA YES-BRANCH S21021 37258421 NI SW1,HEXFF-RECINC CLEAR RECORD INCOMP S21021 37258821 RECOMPA NI IORCD,HEX7F CLEAR PCI ERR IND S21021 37259221 MVI PCICOUNT+AD1,K1 SET COUNTER TO ONE S21014 37259621 CVTGTF EQU EQUATE+236 *** TO BE REMOVED WHEN GTF ***S21014 37259721 * *** POINTER IS AVAILABLE ***S21014 37259821 BR LINKREG RETURN S21021 37259921 *********************************************************************** 37279921 SPACE 1 37289921 **** SAVE ERROR MESSAGE 37299921 SAVEMSG MVC CPULOG(M44),PRTIMAGE SAVE ERROR MESSAGE S21021 37306621 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 37308621 MVC PRTIMAGE(M29),WTO90 GET NEAR FULL MESSAGE S21021 37310621 BR LINKREG RETURN S21021 37312621 EJECT 37313321 *********************************************************************** 37320020 *** *** 37380020 ***** THIS ROUTINE WILL PREPARE TO EXIT TO ABEND ***** 37440020 *** *** 37500020 *********************************************************************** 37560020 SPACE 1 37620020 SESF SSM ZERO DISABLE I/O AND EXT INTERRUPTS 37680020 SPACE 1 37740020 ***** RESTORE TASKS TO A DISPATCHABLE STATE 37800020 SPACE 1 37860020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 37920020 BC 1,SESFC YES - BYPASS 37980020 L R7,CVTHEAD HIGHEST PRIORITY TCB 38040020 SESFA EQU * 000D 38100020 TCBNDB NI NOTDEXT(R7),HEXFF-NOTDSER CLEAR SER TEMP NOT DISP 000E 38160020 NC NOTDEXT(M3,R7),NOTDEXT(R7) MORE DISP BITS 000D 38220020 BC CC7,TCBNDBA BRANCH--NO 000D 38280020 NI NOTDISB(R7),HEXFF-NOTDGEN CLEAR OUT EXT FLD USED 000E 38340020 TCBNDBA EQU * 000D 38400020 SESFB L R7,116(R7) NEXT TCB - LOWER PRIORITY 38460020 LTR R7,R7 LAST TCB 38520020 BC 7,SESFA NO - CONTINUE 38580020 SESFC NI HEX29(TCBREG),HEXFF-AD1 CLEAR PROHIBIT ASY EXIT 000E 38640020 SPACE 1 38700020 ***** SETUP FOR WRITE TO OPERATOR AND DELAY 38760020 SPACE 1 38820020 WTOMSG TM IORCD,HEX16 TEST FOR EW MESSAGE S21021 38880021 BZ NOTFUL NO-BRANCH AROUND S21021 38930021 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 38932021 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 38934021 SVC WTO WRITE TO OPERATOR S21021 38936021 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 38938021 NOTFUL NI IORCD,HEXEF CLEAR EW SWITCH S21021 38938421 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 38938821 SVC 35 WRITE TO OPERATOR SVC CALL 38940020 LA WORK1,4 WTO DELAY COUNTER 39000020 SLL WORK1,18 POSITION DELAY COUNTER 39060020 BCT WORK1,* DELAY FOR WTO COMPLETION 39120020 SPACE 1 39180020 ***** SETUP FOR ABEND ENTRY 39240020 SPACE 1 39300020 LR R0,TCBREG ADDRESS OF ACTIVE TCB 39360020 L RF,CVTBTERM ABEND ENTRY POINT 39420020 L R1,ABNDCODE ABEND COMPLETION CODE 39480020 BALR RE,RF BRANCH TO ABEND 39540020 SPACE 1 39600020 ***** FINAL HOUSEKEEP AND EXIT TO DISPATCHER 39660020 SPACE 1 39720020 XC PROGID(M56),PROGID CLEAR RE AREA S21021 39780021 NI SW1,HEXBF CLEAR RECORD INCOMPLETE S21021 39830021 MVI FPSWITCH+1,0 SET FP SWITCH TO INITIAL ENTRY 39840020 L RE,CVT0DS DISPATCHER ADDRESS 39960020 NI SESCE+1,X'04' CLEAR WAIT BIT IN PROG INT PSW 40020020 XC IORCC(M2),IORCC CLEAR INTERNAL SWITCHES A 000E 40080020 MVI PCICOUNT+AD1,AD16 RESTORE COUNT TO 16 A 000E 40140020 XC CHKTCB1(K4),CHKTCB1 & SAVE AREAS D 000E 40200020 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 40260021 MVI IEAMCH+3,X'90' RESTORE DIAGNOSE INSTRUCTION 40320020 MVC 104(16),SESCE RESTORE INITIAL PI AND MC PSW'S 40380020 MVI 50,X'FF' SET IND TO TEST MACH CHK 40440020 L WORK1,CVTTCBP GET PTR TO NEW/OLD TCB A38648 40490021 SR WORK2,WORK2 CLEAR REGISTER A38648 40492021 L WORK3,CVTHEAD GET HIGHEST PRIORITY TCB A38648 40494021 STM WORK2,WORK3,AD0(WORK1) STORE MODIFIED NEW/OLD A38648 40496021 LM R2,R9,AD80(WORK3) GET REGS FOR DISPATCHER A38648 40498021 BCR 15,RE EXIT SER1--BRANCH TO DISPATCHER 40500020 EJECT 40560020 *********************************************************************** 40620020 *** *** 40680020 ***** UNEXPECTED MACHINE CHECK OR PROGRAM INTERRUPT OCCURRED ***** 40740020 *** *** 40800020 *********************************************************************** 40860020 MCI2 L RD,BASESAVE LOAD SAVED BASE REGISTER VALUE 40920020 L CVTREG,INTCVTPT LOAD ADDR OF COMM VECTOR TABLE 40980020 LM RE,RB,0 CLEAR POTENTIAL BAD PARITY 41040020 TM IORCC,X'20' TEST IF I/O IS COMPLETE 41100020 BC 1,WAITTERM BRANCH--TERMINATE SYSTEM 41160020 TM IORCC,SECONDMC TEST FOR SECOND MACHINE FAILURE 41220020 BC 1,SEREP BR--SECOND FAILURE HAS OCCURRED 41280020 OI IORCC,SECONDMC SET SECOND FAILURE FLAG 41340020 TM IORCC,X'48' TEST STANDALONE AND I/O IN PROG 41400020 BC 1,SEREP3 BR--ATTEMPT SEREP SETUP 41460020 BC 15,IOFAIL+8 BRANCH TO ATTEMPT OUTPUT AGAIN 41520020 IOFAIL TM IORCC,STANDIO TEST FOR STANDALONE I/O 41580020 BC 1,ERREXIT2 BRANCH--STANDALONE I/O 41640020 IOFAIL1 OI IORCC,STANDIO SET STANDALONE I/O FLAG 41700020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 41760020 LA WORK1,WRITENT WRITE RECORD ENTRY POINT 41820020 TM IORCC,X'10' TEST IF HEADER RECORD READ OK 41880020 BC 1,*+8 HDR OK--BRANCH TO WRITE RE 41940020 LA WORK1,SERLI READ HEADER ENTRY POINT 42000020 ST WORK1,DSRCA+4 STORE ADDRESS IN PSW 42060020 LPSW DSRCA ENABLE MC'S - BR TO OUTPUT 42120020 WAITTERM MVI PRTIMAGE+5,C'6' SET ERROR MESSAGE CODE 42180020 LA R0,X'F06' WAIT PSW ERROR CODE 42240020 BC 15,ERREXIT1+8 BR TO PRT MESSAGE AND TERMINATE 42300020 SPACE 1 42360020 ***** SETUP FOR SEREP OUTPUT 42420020 SPACE 1 42480020 SEREP MVI 121,0 DISABLE MC IN I/O NEW PSW 42540020 SEREP3 MVI PRTIMAGE+5,C'D' SWT ERROR MESSAGE CODE 42600020 LA R0,X'F0D' WAIT PSW ERROR CODE 42660020 BAL LINKREG,ERREXIT2+12 BRANCH TO SETUP PRINT IMAGE 42720020 SPACE 1 42780020 SEREP1 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 42840021 BC 8,SEREPIN BRANCH--INBOARD RE 42900020 MVC 132(164),CPULOG MOVE LOG TO LOGOUT AREA 42960020 MVC 48(8),MCIOPSW MOVE MC PSW TO HARDWARE LOC. 43020020 MVI 115,0 CLEAR SEREP INTERFACE BYTE 43080020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 43140020 SPACE 1 43200020 SEREPIN MVC 136(48),INLOG MOVE CHANN LOG TO LOGOUT AREA 43260020 MVC 64(8),INCSW MOVE CSW TO HARDWARE LOCATION 43320020 MVC 58(2),INCUA MOVE CUA TO I/O OLD PSW 43380020 MVI 115,X'0F' SETUP SEREP INTERFACE BYTE 43440020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 43500020 SPACE 2 43560020 ***** ENTER WAIT STATE WITH ALL INTERRUPTS DISABLED 43620020 SPACE 1 43680020 EXIT ST R0,SERCA+4 STORE TERMINATION CODE IN PSW 43740020 MVI SERCA+1,X'02' SET WAIT BIT 43800020 LPSW SERCA ENTER WAIT STATE 43860020 * A 000E 43920020 * PROGRAM CONTROL CHECK WHILE FILLING RE A 000E 43980020 * A 000E 44040020 PCIERR L RD,BASESAVE RESTORE BSSE ADDR A 000E 44100020 L CVTREG,INTCVTPT RESET CVT PIONTER S21014 44160021 TM CVTGTF,HEXC0 TEST GTF ACTIVE S21014 44210021 BZ PCIERR0 BRANCH--NO S21014 44212021 CLI LOC43,K1 TEST FOR OPER INT S21014 44214021 BNE PCIERR0 BRANCH--NO S21014 44216021 LPSW LOC40 RETURN S21014 44218021 PCIERR0 OI IORCD,HEX80 TURN ON PCI ERROR IND S21014 44218421 PCIERRB LH PARMREG0,PCICOUNT NO. OF ENTRIES ALLOWED A 000E 44220020 BCT PARMREG0,PCIERRA IF NOT ZERO OK A 000E 44280020 LPSW SERCA GTR THAN 16 ENTRYS-WAIT A 000E 44340020 PCIERRA STH PARMREG0,PCICOUNT SAVE COUNT A 000E 44400020 BR LINKREG RETURN A 000E 44460020 EJECT 44520020 *********************************************************************** 44580020 * * 44640020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 44700020 * * 44760020 *********************************************************************** 44820020 SPACE 1 44880020 ***** MOVE CSW AND CUA INTO RECORD ENTRY AREA 44940020 SPACE 1 45000020 CSERB LA LINKREG,FAILCCW SET PCI RTN TO FAILCCW A 000E 45060020 MVC INCSW(K8),HDWECSW MOVE CSW RO RE AREA A 000E 45120020 MVI IEAMCH+3,X'51' MODIFY TO DIAGNOSE SECTOR 0 45180020 MVC FPSWITCH(4),SECTORTN MOVE RETURN INSTRUCTION 45240020 BC 15,IEAMCH BRANCH TO DIAGNOSE SECTOR 0 45300020 DIAGRTRN LH WORK2,HDWECUA LOAD CUA FROM I/O OLD PSW 45360020 STH WORK2,INCUA SAVE CHANNEL/UNIT ADDRESS 45420020 * GET CHANNEL IDENTITY 45470021 SR WORK1,WORK1 CLEAR REG S21021 45472021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 45474021 SRL WORK3,K9 GET CHAN/2 S21021 45476021 L WORK5,CHCONFIG GET ADDR OF CHAN TABLE S21021 45478021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 45478421 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 45478821 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 45479221 TM HDWECUA,HEX01 TEST FOR ODD CHAN ADDR S21021 45479621 BO ODDADR BRANCH IF ODD S21021 45479721 * EVEN ADDRESS 45479821 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 45479921 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 45499921 * GET CHANNEL ADDRESS FOR MESSAGE 45509921 ODDADR MVC ERRTYPE+K6(M1),HDWECUA MOVE NUMERIC PORTION S21021 45519921 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 45526621 TM HDWECSW+5,X'08' TEST FOR CHANNEL DATA CHECK 45533321 BC 1,RELOAD BRANCH--CHANNEL DATA CHECK 45540020 SRL WORK2,8 POSITION CHANNEL ADDRESS 45600020 LA WORK3,1 SUBTRACTION CONSTANT 45660020 SR WORK2,WORK3 REDUCE CHANN NUMBER BY ONE 45720020 SLL WORK2,K5 POSITION CHAN ADR AS INDEX 000E 45780020 LR WORK6,WORK2 SAVE REG 3 000E 45840020 L WORK2,IEAMCH+AD4(WORK6) PICK UP CAW WORD 000E 45900020 LA WORK5,AD4 IT IS MIXED WITH PARITY BI 000E 45960020 CSERBA SLL WORK2,AD1 DROP PARITY BIT 000E 46020020 SLDL WORK1,M8 MOVE ONE BYTE TO WORK1 000E 46080020 BCT WORK5,CSERBA LOOP 000E 46140020 IC WORK5,IEAMCH+AD11(WORK6) PICK UP LST 4 BITS 000E 46200020 SRL WORK5,AD4 DROP OFF LOWER FOUR 000E 46260020 OR WORK1,WORK5 PUT IN LST 4 000E 46320020 STH WORK1,INCSW+AD2 STORE ADDR IN RE AREA 000E 46380020 SRL WORK1,M16 000E 46440020 STC WORK1,INCSW+AD1 000E 46500020 LR WORK2,WORK6 RESTORE REG 3 000E 46560020 TM CPULOG+M90,HEX40 IS CCW2 BIT ON IN LOGOUT 000E 46620020 BZ CSERBB NO CUA IS AVAILABLE 000E 46680020 TM CPULOG+M91,HEX20 IS STEP 3 CYCLE CTR OFF 000E 46740020 BZ FAILCCW YES CUA IS NOT TO BE FOUND 000E 46800020 CSERBB TM CPULOG+M90,HEX80 IS CCW1 BIT ON 000E 46860020 BZ CSERBC NO CUA FOUND IN WORD 10 000E 46920020 TM CPULOG+M98,HEX04 IS SPD1 LATCH OFF 000E 46980020 BO CSERBC NO FOUND IN WORD 10 000E 47040020 LH WORK2,IEAMCH+AD12(WORK2) CUA FOUND IN WORD 01 000E 47100020 B CSERBD GO ON 000E 47160020 CSERBC LH WORK2,IEAMCH+AD20(WORK2) LOAD UNIT ADDR WORK 10 000E 47220020 CSERBD SRL WORK2,CC7 POSITION UNIT ADDR 000E 47280020 STC WORK2,INCUA+CC1 PUT IT INTO CUA 000E 47340020 RELOAD LH WORK2,INCUA LOAD CHANNEL/UNIT ADDRESS 47400020 SPACE 1 47460020 ***** LOCATE UCB AND LAST REQUEST ELEMENT 47520020 SPACE 1 47580020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 47640021 STH WORK2,INACTIO STORE CUA S21021 47690021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 47700021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 47750021 LA WORK3,K8 GET COUNT S21021 47760021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 47810021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 47820021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 47870021 BC 4,LKUPEND END OF LOOKUP S21021 47880021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 47930021 ***** GET CUA AND COMPARE 47940021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 47990021 N WORK5,CON7FF CLEAR FLAGS S21021 48000021 ***** TEST FOR FAILING CHANNEL 48050021 STH WORK5,DSRCC STORE CUA TEMP S21021 48060021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 48110021 BNE FINDUCB NO-GO GET NEXT ONE S21021 48120021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 48170021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 48180021 BNE ACTST NO-BRANCH AROUND S21021 48230021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 48240021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 48290021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 48292021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 48294021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 48296021 ***** TEST FOR ACTIVE DEVICE 48298021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 48298421 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 48298821 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 48299221 LA WORK3,K1 SET COUNTER TO 1 S21021 48299621 B FINDUCB GET NEXT UCB ADDR S21021 48299721 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 48299821 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 48299921 B FINDUCB GET NEXT UCB ADDR S21021 48319921 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 48329921 OI SW1,HEX80 SET ILLEGAL CUA FLAG ON S21021 48339921 OI IORCD,HEX80 SET RECORD INCOMPLETE 48346621 B FAILCCW BRANCH S21021 48348621 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 48350621 SPACE 1 48353321 ***** TEST FOR ERP IN PROGRESS S21021 48360021 SPACE 1 48420020 TM UCBACT(WORK4),RQEAV TEST FOR 12* AVAILABLE 000D 48480020 BZ FAILCCW NO - BRANCH S21021 48540021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 48600020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 48660020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 48720020 SR TCBREG,TCBREG CLEAR TCB REG 000D 48780020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 48840020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 48890021 L TCBREG,AD0(TCBREG,WORK5) TCB POINTER 000D 48900020 L WORK4,IOBPTR(WORK4) LOAD IOB POINTER FROM 12* 48960020 TM IOBFLAG1(WORK4),IOBERR ERP IN PROGRESS 23243 49020020 BC CC8,NOERP BRANCH--NO 23243 49080020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 49140021 NOERP EQU * 23243 49200020 SPACE 1 49380020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 49440020 SPACE 1 49500020 FAILCCW LA LINKREG,IJOBNM SET PCI RTN PTR S21021 49560021 L WORK1,INCSW LOAD COMM ADDR FROM CSW A 000E 49620020 TM HDWECSW+5,X'0A' TEST INT CTRL AND CHAN DATA CHK 49680020 BC 8,FAILCCW1 BRANCH--CHANNEL CONTROL CHK 49740020 LA WORK2,8 DECREMENT CONSTANT 49800020 SR WORK1,WORK2 DECREMENT COMMAND ADDRESS 49860020 FAILCCW1 LA WORK1,0(WORK1) CLEAR HIGH ORDER BYTE 49920020 CL WORK1,CVTMZ00 COMPARE FOR LEGAL ADDRESS 49980020 BC 11,IJOBNM BRANCH-ILLEGAL ADDRESS S21021 50040021 MVC INCCW(M8),AD0(WORK1) MOVE CCW TO RE AREA S21021 50090021 SPACE 1 50160020 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 50220021 SPACE 1 50280020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 50340021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 50390021 B SERLI BRANCH TO COMPLETE S21021 50400021 SPACE 1 50640020 SECTORTN BC 15,DIAGRTRN SECT 0 RETURN INSTRUCTION 50700020 EJECT 50760020 *********************************************************************** 50820020 *** *** 50880020 * SETUP PRIOR TO USING SYSTEM FUNCTIONS * 50940020 *** *** 51000020 *********************************************************************** 51060020 SPACE 1 51120020 ***** SET TASKS NON DISPATCHABLE 51180020 SPACE 1 51240020 SYSTEMIO TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 51300020 BC 1,SYSIO1 YES - BYPASS 51360020 L WORK4,CVTHEAD HIGHEST PRIORITY TCB 51420020 B TCBNDAB SKIP MARKING HI TCB 000E 51480020 SYSIO EQU * 000D 51540020 TCBNDA OI NOTDISB(WORK4),NOTDGEN NOT DISP EXT FLD BEING USED000D 51600020 OI NOTDEXT(WORK4),NOTDSER SER TEMP NOT DISP 000D 51660020 TCBNDAB EQU * 000E 51720020 L WORK4,116(WORK4) NEXT TCB - LOWER PRIORITY 51780020 LTR WORK4,WORK4 LAST TCB 51840020 BC 7,SYSIO NO - CONTINUE 51900020 XC NOTDISP(2,TCBREG),NOTDISP(TCBREG) CLEAR ACTIVE TCB 51960020 SYSIO1 OI 29(TCBREG),1 SET PROHIBIT ASYNCH EXIT FLAG 52020020 SPACE 1 52080020 ***** SETUP FOR HARD PURGE (HIO) ON TCB 52140020 SPACE 1 52200020 MVI PURGPARM,X'62' INITIALIZE PURGE PARM LIST 52260020 LA R1,PURGPARM ADDR OF PURGE PARAMETER LIST 52320020 SVC 16 SUPERVISOR CALL TO PURGE 52380020 SPACE 1 52440020 ***** LOOP ON ECB WAITING FOR PURGE POSTING 52500020 SPACE 1 52560020 SSM ZERO DISABLE I/O AND EXT INTERRUPTS 52620020 CLI PURGPARM+4,X'7F' TEST PURGE ECB 52680020 BC 7,SERLI BR--PURGE COMPLETED INCORRECTLY 52740020 BC 15,SERLA BRANCH TO READ HEADER RECORD 52800020 EJECT 52860020 SPACE 1 52920020 ***** HALT I/O IN PREPARATION FOR STAND ALONE I/O 52980020 SPACE 1 53040020 SERLK EQU * S21021 53100021 SERLI OI IORCC,STANDIO SET STANDALONE I/O FLAG 53160020 OI SW1,SYSTERM IND SYSTEM TERMINATED S21021 53210021 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 53220020 SPACE 1 53280020 SPACE 2 53340020 ***** SETUP FOR READ OF HEADER RECORD 53400020 SPACE 1 53460020 SERLA TM IORCD,HEX40 WAS OBR/SDR IN PROGRESS C 000E 53520020 BO MDALLC YES PUT OUT RE LOST C 000E 53580020 L WORK2,CVTDCB ADDR OF SER DCB C 000E 53640020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 53700020 MVC CCWSKADR(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK AD 53760020 SERLH MVI CCWSKADR+6,1 SET SEARCH ID FIELD TO ONE 53820020 LA WORK3,HDRCCW HEADER CHANNEL PROG ADDRESS 53880020 ST WORK3,IOBSA STORE ADDRESS IN IOB 53940020 MVC IOBSKADR+1(7),CCWSKADR MOVE SEEK ADDRESS TO IOB 54000020 OI IORCD,HEX80 TURN ON READ IN PRGRESS C 000E 54060020 BAL LINKREG,FTCHA BRANCH TO READ HEADER RECORD 54120020 NI IORCD,HEX7F TURN OFFREAD IN PRGRESS C 000E 54180020 SPACE 1 54240020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 54300020 BC 7,IOFAIL BR--HEADER RECORD INCORRECT 54360020 SPACE 1 54420020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 54480020 SPACE 1 54540020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 54600020 XR WORK4,WORK4 CLEAR REGISTER 54660020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 54720020 SLL WORK4,1 DOUBLE 54780020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 54840020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 54900021 BE SER10 YES - BRANCH S21021 54950021 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 55020020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 55080020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 55140020 BC 1,SER13 BR--RE WILL FIT ON TRACK 55200020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 55260020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 55320020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 55380021 BE SER12 YES - BRANCH S21021 55430021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 55620020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 55680020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 55740020 BC 15,SER10 BRANCH FOR ANOTHER PASS 55800020 SER12 XR WORK3,WORK3 CLEAR REGISTER 55860020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 55920020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 55980020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 56040020 BC 15,SER11 BRANCH FOR ANOTHER PASS 56100020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 56160020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 56220020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 56280020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 56340020 BC CC1,ERREXIT2 SET UP FOR SEREP 000D 56400020 MVI PRTIMAGE+AD5,C'C' ERROR CODE 000D 56460020 MVC IMAGE1(M12),IMAGE3 APPENDAGE 000D 56520020 BC CC15,SESF BRANCH TO ABEND MESSAGE 000D 56580020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 56640020 OI IORCC,HDSWTCH SET HEAD SWITCH REQUIRED SWITCH 56700020 MVC IOBSKADR+1(7),LASTTTR PLACE SEEK ADDR FOLLOWING IOB 56760020 MVC CCWSKADR(7),IOBSKADR+1 MOVE SEARCH AUGUMENT TO BUFFER 56820020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 56880020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 56940020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 57000020 SER14 OI IORCC,HEADEROK SET HEADER RECORD OK SWITCH 57060020 SPACE 1 57120020 ***** SETUP FOR RECORD ENTRY WRITE 57180020 SPACE 1 57240020 WRITENT LA WORK5,WRTCCW ADDR OF RE WRITE CCW CHAIN 57300020 ST WORK5,IOBSA STORE ADDRESS IN IOB 57360020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 57420020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 57480021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 57540020 LA WORK5,136 RE LGH FOR CCW CNT FLD S21021 57600021 LA WORK3,128 RE LGH FOR DATA CNT FLD S21021 57650021 STH WORK5,WRTCCW1+6 SET COUNT IN CCW 57720020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 57780020 MDALLA BAL LINKREG,FTCHA BRANCH TO WRITE RECORD ENTRY 57840020 SPACE 1 57900020 ***** SETUP FOR END OF FILE (EOF) WRITE 57960020 SPACE 1 58020020 TM IORCC,HDSWTCH TEST IF HD SWITCHING REQ 58080020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 58140020 MVC CCWSKADR(7),LASTTTR MOVE SEARCH AUGUMENT TO BUFFER 58200020 BC 15,WRTEOF 58260020 SWITCH CLC CCWSKADR(CC7),RESTART IS THIS THE FIRST ENTRY 000E 58320020 BNE NOEOF NO EOF HAS BEEN WRITTEN 000E 58380020 MVC CCWSKADR+M2(K4),UPLIMIT MOVE SEARCH ARG TO BUFF 000E 58440020 MVI CCWSKADR+6,0 SET ID FIELD TO ZERO 58500020 MVC IOBSKADR+3(4),UPLIMIT MOVE SEEK ADDR TO IOB 58560020 WRTEOF MVC EOFRECRD(4),IOBSKADR+3 MOVE CCHH TO EOF RECORD 58620020 LA WORK5,EOFCCW ADDR OF EOF WRT CCW CHAIN 58680020 ST WORK5,IOBSA STORE ADDRESS IN IOB 58740020 BAL LINKREG,FTCHA BRANCH TO WRITE END OF FILE 58800020 SPACE 1 58860020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 58920020 ***** TEST FOR 90 PERCENT FULL 58980021 NOEOF TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 59030021 BO NOEWTST YES-BRANCH AROUND S21021 59032021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 59034021 BL NOEWTST BRANCH IF LOWER S21021 59036021 BH SETSW BRANCH IF GREATER S21021 59038021 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 59038421 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 59038821 BH NOEWTST BRANCH IF HIGHER S21021 59039221 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 59039621 OI IORCD,HEX16 SET EW SWITCH S21021 59039721 ***** OUTPUT MESSAGE TO OPERATOR IF STAND ALONE I/O 59039821 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 59039921 BZ NOEWTST NO-DO IT LATER S21021 59059921 ***** DO STAND ALONE I/O FOR MESSAGE 59069921 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 59079921 MSG90 BAL LINKREG,PRINT BRANCH TO PRINT S21021 59086621 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 59088621 NI IORCD,HEXEF CLEAR EW INDICATOR S21021 59090621 SPACE 1 59093321 NOEWTST LA R5,HDRCCW1 POINT TO CCW LIST S21021 59100021 ST R5,IOBSA STORE IN IOB 59160020 L WORK2,CVTDCB ADDRESS OF SER DCB 59220020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 59280020 MVC CCWSKADR(6),DEBF4(WORK6) SETUP SEARCH ID ARGUMENT 59340020 MVI CCWSKADR+6,1 59400020 MVC IOBSKADR+1(7),CCWSKADR PLACE SEEK ADDR FOLLOWING IOB 59460020 BAL LINKREG,FTCHA BRANCH TO WRITE HEADER RECORD 59520020 MDALLB OI IORCC,IOCMPLTE SET I/O COMPLETE FLAG 59580020 MVI PRTIMAGE+5,C'B' SET ERROR MESSAGE CODE 59640020 SPACE 1 59700020 ***** DETERMINE HOW TO TERMINATE SYSTEM 59760020 SPACE 1 59820020 MDALLB1 EQU * C 000E 59880020 TM IORCC,SECONDMC TEST IF SECOND MC OCCURED 59940020 BC 1,WAITTERM BRANCH--CANNOT ABEND SYSTEM 60000020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 60060020 BC 1,ERREXIT1 BRANCH--CANNOT ABEND SYSTEM 60120020 BC 15,SESF BRANCH TO ABEND SETUP ROUTINE 60180020 MDALLC MVC IMAGE1(M14),IMAGE4 SET UP ERROR MSG C 000E 60240020 MVI PRTIMAGE+AD5,CE SET ERROR CODE C 000E 60300020 B MDALLB1 CARRY ON WITH PROCESSING C 000E 60360020 EJECT 60420020 FTCHA OI IORCC,X'08' SET I/O OUTPUT IN PROG FLAG 60480020 ERROR3 NI IOBECB,X'0' CLEAR ECB COMPLETION CODE 60540020 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 60600021 BC 1,IORTN BRANCH--USE STAND ALONE I/O 60660020 LA R1,SERIOB ADDRESS OF IOB 60720020 SSM ENABLE ENABLE ALL CHANNELS 60780020 SPACE 2 60840020 SVC EXCP EXECUTE CHANNEL PROGRAM CALL 60900020 SPACE 2 60960020 ***** LOOP WAITING FOR ECB POSTING BY IOS 61020020 SPACE 1 61080020 TESTECB CLI IOBECB,X'00' CHECK COMPLETION CODE IN ECB 61140020 BC 8,TESTECB LOOP WAITING FOR ECB POSTING 61200020 CLI IOBECB,INTCEPT CHECK COMPLETION CODE IN ECB 61260020 BC 8,ERROR3 BR TO EXCP AGAIN 61320020 CLI IOBECB,NORMAL CHECK COMPLETION CODE IN ECB 61380020 BCR 8,LINKREG BR--I/O OPERATION COMPLETED OK 61440020 TM IORCD,HEX80 IS READ IN PROGRESS C 000E 61500020 BO IOFAIL YES SYSTEM TO LOAD WAIT C 000E 61560020 B MDALLC NO WRITE IGNORED C 000E 61620020 SPACE 1 61680020 ***** SETUP FOR ERROR EXITS 61740020 SPACE 1 61800020 ERREXIT1 MVI PRTIMAGE+5,C'5' SET ERROR MESSAGE CODE 61860020 LA R0,X'F05' WAIT PSW ERROR CODE 61920020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 61980020 LA LINKREG,EXIT RETURN POINT FOLLOWING PRINTING 62040020 BC 15,PRINT BRANCH TO PRINT ERROR MESSAGE 62100020 SPACE 1 62160020 ERREXIT2 MVI PRTIMAGE+5,C'9' SET ERROR MESSAGE CODE 62220020 LA LINKREG,SEREP1 RETURN POINT FOLLOWING PRINTING 62280020 LA R0,X'F09' WAIT PSW ERROR CODE 62340020 MVC IMAGE1(14),IMAGE2 MOVE MESSAGE TO PRINT IMAGE 62400020 BC 15,PRINT BRANCH TO PRINT ERROR MESSAGE 62460020 EJECT 62520020 *********************************************************************** 62580020 *** *** 62640020 ***** STAND ALONE ROUTINE TO PERFORM I/O OPERATIONS ***** 62700020 *** *** 62760020 *********************************************************************** 62820020 IORTN MVC IORCB+1(3),IOBSA+1 MOVE CCW START ADDRESS TO TIC 62880020 LA WORK2,10 SETUP TO COUNT RETRIES 62940020 SIORTN LA WORK1,IORCA STARTING CCW CHAIN ADDRESS 63000020 ST WORK1,72 STORE IN CHANNEL ADDRESS WORD 63060020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 63120021 SIORTNB LA WORK1,HIO4 LOAD I/O INTERRUPT ADDR 21021 63180020 ST WORK1,AD124 STORE IN I/O NEW PSW 21021 63240020 SSM ENABLE ENABLE ALL CHANNELS 21021 63300020 SIORTNB1 TIO AD0(DADCUA) TEST I/O 21021 63360020 BC CC6,SIORTNB1 BR--CHAN BSY OR STATUS ST 21021 63420020 SSM ZERO DISABLE ALL CHANNELS 21021 63480020 SIO 0(DADCUA) START I/O 63540020 BC 8,SIORTND BR--I/O OPERATION INITIATED 63600020 SIORTNC BCT WORK2,SIORTN BRANCH--TRY OPERATION AGAIN 63660020 BC 15,SEREP3 BRANCH TO SETUP FOR SEREP 63720020 SIORTND TIO 0(DADCUA) TEST I/O 63780020 BC 2,SIORTND BR--CHANN OR SUBCHANN BUSY 63840020 TM 68,X'0D' CH END, DEV END, UNIT EXCEPTION 63900020 BC 14,SIOTEST BR--NOT END OF FILE 63960020 CLC IOBSKADR+3(4),SESCD COMPARE R0 AND SEEK ADDR 64020020 BC 8,SIORTNC BRANCH--NOT ALT. TRACK 64080020 BC 15,ALTRK BR--SETUP FOR ALTERNATE TRACK 64140020 SIOTEST TM 68,6 CHECK DE AND UNIT CHECK 64200020 BC 1,SENSE YES--SENSE AND CHECK FOR ALT TR 64260020 TM 68,X'0A' CHECK CE AND UNIT CHECK 64320020 BC 1,SENSE YES--SENSE AND CHECK FOR ALT TR 64380020 TM 68,X'04' TEST FOR DEVICE END 64440020 BC 14,SIORTND BR--NOT DEVICE END 64500020 TM 69,X'FF' CHECK FOR CHANNEL ERRORS 64560020 BC 7,SIORTNC BRANCH AND RETRY--CHANN ERRORS 64620020 BCR 15,LINKREG RETURN TO MAINLINE 64680020 SPACE 1 64740020 ***** SENSE DISK TO CHECK FOR ALTERNATE TRACK 64800020 SPACE 1 64860020 SENSE LR PARMREG1,LINKREG SAVE ORIGINAL LINKAGE REGISTER 64920020 LA WORK1,IORCF SENSE CCW ADDRESS 64980020 ST WORK1,72 STORE IN CHANNEL ADDRESS WORD 65040020 BAL LINKREG,SIORTNB BR TO PERFORM SENSE OPERATION 65100020 TM DSRCC,X'02' CHECK ALTERNATE TRACK BIT 65160020 LR LINKREG,PARMREG1 RESTORE LINKAGE REGISTER 65220020 BC 14,SIORTNC BRANCH TO COUNT RETRIES 65280020 SPACE 1 65340020 ***** SETUP FOR A SWITCH TO AN ALTERNATE TRACK 65400020 SPACE 1 65460020 ALTRK MVC IOBSKADR+3(5),SESCD SETUP ALT. TRACK SEEK ADDR 65520020 BC 15,SIORTN 65580020 EJECT 65640020 *********************************************************************** 65700020 *** *** 65760020 ***** HALT I/O AND DETERMINE ADDRESSES OF THE OUTPUT DEVICES ***** 65820020 *** *** 65880020 *********************************************************************** 65940020 HIO LA WORK1,HIO3 I/O INTERRUPT ADDRESS 66000020 ST WORK1,124 STORE IN I/O NEW PSW 66060020 MVC IMAGE1(M14),IMAGE1A RELOAD OS MESSAGE 000D 66120020 LA WORK6,2048 LOOP PREVENTION COUNTER 66180020 LR WORK1,WORK6 MAXIMUM CUA + ONE 66240020 SSM ENABLE ENABLE ALL CHANNELS 66300020 HIO2 HIO 0(WORK1) HIO ON MPX CHANN DEVICE 66360020 BCT WORK1,HIO2 BR TO HIO ON NEXT DEVICE 66420020 SPACE 1 66480020 ***** LOCATE DIRECT ACCESS DEVICE OUTPUT ADDRESS (CUA) 66540020 SPACE 1 66600020 LOADCUA L WORK1,CVTDCB LOAD ADDRESS OF SER DCB 66660020 L WORK1,DEBAD(WORK1) LOAD ADDRESS OF SER DEB 66720020 L WORK1,UCBPTR(WORK1) LOAD ADDR OF SYS RES UCB 66780020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 66840020 SPACE 1 66900020 BC CC15,LOCCONS LOCATE CONSOLE CUA 000D 66960020 SPACE 1 67020020 HIO3 BCT WORK6,*+8 BR AROUND LOOP PROTECTION EXIT 67080020 BC 15,LOADCUA EXIT--LOOP PROTECTION EXIT 67140020 HIO4 LPSW AD56 RETURN TO INTERRUPT POINT 21021 67200020 EJECT 67260020 ***** CONSTANTS AND BUFFERS WHICH ARE NOT MODEL DEPENDENT 67320020 SPACE 2 67380020 DS 0D 67440020 SERCA DC XL5'0' SER1 MC AND PI NEW PSW 67500020 SERCAA DC AL3(MCI2-IEAMCH00) 000C 67560020 SERCB DC XL5'4000000' A 000E 67620020 SERCBA DC AL3(PCIERR-IEAMCH00) A 000E 67680020 MSCHKPSW DC XL5'4000000' MACHINE CHECK ENABLED PSW 67740020 PTYCHKAD DC AL3(PTYCHK2-IEAMCH00) 000C 67800020 SESCE DC XL8'0' PROGRAM INTERRUPT PSW SAVE AREA 67860020 SESCD DC XL5'0' ORIGINAL NEW MACHINE CHECK PSW 67920020 IEAMCADR DC AL3(IEAMCH-IEAMCH00) 000C 67980020 ZERO EQU SESCD 68040020 IOBECB DC XL4'0' 68100020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 68160020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 68220020 CCWSKADR DC XL8'0' SEEK BUFFER 68280020 ABNDCODE DC X'000F3000' 68340020 CON7FF DC X'00000FFF' CUA MASK 000E 68400020 ENABLE DC X'FE' MASK TO ENABLE ALL CHANNELS 68460020 SPACE 2 68520020 IORCC DC X'0000' CONTROL FLAGS A 000E 68580020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 68640020 * BIT 1---STAND ALONE I/O BEING UTILIZED 68700020 * BIT 2---I/O OPERATIONS FOR RECORD ENTRY ARE COMPLETE 68760020 * BIT 3---HEADER RECORD READ AND UPDATED SUCESSFULLY 68820020 * BIT 4---I/O OUTPUT HAS BEEN TRIED 68880020 * BIT 5 MCS ENVIRONMENT 000D 68940020 * BIT 6---HEAD SWITCHING REQUIRED TO WRITE END OF FILE 69000020 * BIT 7---SECOND MACHINE CHECK OR CHANN FAILURE HAS OCCURRED 69060020 * BIT 8 A PCI ERROR OCCURRE OR A HDR REC IS TO BE READ A 000E 69120020 * BIT 9 OBR/SDR IN PROGRESS C 000E 69180020 * BIT 10 --- PARITY ERROR ENCOUNTERED IN THE NUCLEUS 000E 69240020 * BIT 11 --- EARLY WARNING MESSAGE IN PROGRESS S21021 69290021 IORCD EQU IORCC+1 A 000E 69300020 EJECT 69360020 SPACE 2 69420020 DS 0D 69480020 SPACE 1 69540020 IORCA DC X'07' SEEK 000C 69600020 IOBADDRS DC AL3(IOBSKADR+1-IEAMCH00) 000C 69660020 DC XL4'40000006' 000C 69720020 SPACE 1 69780020 DC X'16' READ 000C 69840020 SESCDADD DC AL3(SESCD-IEAMCH00) 000C 69900020 DC XL4'60000008' R0 000C 69960020 SPACE 1 70020020 IORCB DC X'08' TRANSFER 000C 70080020 STARADDR DC AL3(*-IEAMCH00) IN 000C 70140020 DC XL4'40000001' CHANNEL 000C 70200020 SPACE 1 70260020 IORCF DC X'04' SENSE DAD 000C 70320020 DSRCCADD DC AL3(DSRCC-IEAMCH00) INTO WORK 000C 70380020 DC XL4'20000003' AREA 000C 70440020 SPACE 1 70500020 HDRCCW1 DC X'31' SEARCH ON 000C 70560020 SKADDRAD DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 70620020 DC XL4'40000005' EQUAL 000C 70680020 SPACE 1 70740020 DC X'08' TRANSFER 000C 70800020 HDRCCWAD DC AL3(HDRCCW1-IEAMCH00) IN 000C 70860020 DC XL4'40000001' CHANNEL 000C 70920020 SPACE 1 70980020 DC X'05' WRITE 000C 71040020 HDRRECAD DC AL3(HDRREC-IEAMCH00) HEADER 000C 71100020 DC XL4'00000028' RECORD S21021 71160021 SPACE 1 71220020 HDRCCW DC X'31' SEARCH ON 000C 71280020 SKADRAD1 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 71340020 DC XL4'40000005' EQUAL 000C 71400020 SPACE 1 71460020 DC X'08' TRANSFER 000C 71520020 HDRCCWA1 DC AL3(HDRCCW-IEAMCH00) IN 000C 71580020 DC XL4'40000001' CHANNEL 000C 71640020 SPACE 1 71700020 DC X'06' READ 000C 71760020 HDRRECA1 DC AL3(HDRREC-IEAMCH00) HEADER 000C 71820020 DC XL4'00000028' RECORD S21021 71880021 SPACE 1 71940020 WRTCCW DC X'31' SEARCH ON 000C 72000020 SKADRAD2 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 72060020 DC XL4'40000005' EQUAL 000C 72120020 SPACE 1 72180020 DC X'08' TRANSFER 000C 72240020 WRTCCWAD DC AL3(WRTCCW-IEAMCH00) IN 000C 72300020 DC XL4'40000001' CHANNEL 000C 72360020 WRTCCW1 DC X'1D' WRITE 000C 72420020 CTFLDADD DC AL3(CTFLDID-IEAMCH00) RECORD 000C 72480020 DC A(328) ENTRY S21021 72540021 SPACE 1 72600020 EOFCCW DC X'31' SEARCH ON 000C 72660020 SKADRAD3 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 72720020 DC XL4'40000005' EQUAL 000C 72780020 SPACE 1 72840020 DC X'08' TRANSFER 000C 72900020 EOFCCWAD DC AL3(EOFCCW-IEAMCH00) IN 000C 72960020 DC XL4'40000001' CHANNEL 000C 73020020 SPACE 1 73080020 DC X'1D' WRITE 000C 73140020 EOFRECAD DC AL3(EOFRECRD-IEAMCH00) END OF 000C 73200020 DC XL4'00000008' FILE 000C 73260020 EJECT 73320020 * 73380020 **** HEADER RECORD FROM SR 73440020 * 73500020 HDRREC DS 0F S21021 73560021 DC X'FF000000',9F'0' S21021 73610021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 73620021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 73670021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 73680021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 73730021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 73740021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 73790021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 73800021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 73850021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 73860021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 73910021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 73920021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 73970021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 73980021 SPACE 2 74100020 * 74160020 ** IOB FOR SER1 FUNCTIONS 74220020 * 74280020 DS 0F 74340020 SERIOB DC XL4'42000000' 74400020 DC X'00' 000C 74460020 IOBECADR DC AL3(IOBECB-IEAMCH00) 74520020 DC XL8'0' 74580020 IOBSA DC XL4'0' 74640020 IOBDCBP DC A(0) V(IFBDCB) SER DCB POINTER 000C 74700020 IOBRA DC XL4'0' 74760020 IOBBC DC XL4'0' 74820020 IOBSKADR DC XL8'0' 74880020 SPACE 2 74940020 ***** INPUT PARAMETER LIST FOR PURGE 75000020 SPACE 1 75060020 PURGPARM DC X'62' PURGE BY TCB,HIO,POST 75120020 DC XL3'0' DEB ADDR--NOT REQUIRED 75180020 DC XL4'0' TCB ADDRESS AND ECB 75240020 DC XL4'0' CHAIN ADDR--NOT REQUIRED 000D 75300020 EJECT 75360020 CHCONFIG DC A(0) V(IFBACTA) ADDR OF SYS CHANN CONFIG 000C 75420020 INTCVTPT DC A(0) V(IEACVT) ADDR OF COMM VECTOR TABLE 000C 75480020 CHKTCB1 DC XL4'00' A 000E 75540020 PCICOUNT DC XL2'0010' 000E 75660020 EJECT 75720020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 75780020 SPACE 2 75840020 * DAD SUBTRACTION CONSTANT TABLE 75900020 CONRE DC AL2(406) * 2311 CPU RE SUB CONST S21021 75960021 DC AL2(461) * 2301 CPU RE SUB CONST S21021 76010021 DC AL2(436) * 2303 CPU RE SUB CONST S21021 76020021 DC AL2(406) * 2302 CPU RE SUB CONST S21021 76070021 DC AL2(429) * 2321 CPU RE SUB CONST S21021 76080021 DC XL2'0' * DUMMY 000C 76260020 DC XL2'0' * DUMMY 000C 76320020 DC AL2(444) * 2314 CPU RE SUB CONST S21021 76380021 SPACE 1 76440020 CONIO DC AL2(204) * 2311 INB RE SUB CONST S21021 76500021 DC AL2(269) * 2301 INB RE SUB CONST S21021 76550021 DC AL2(244) * 2303 INB RE SUB CONST S21021 76560021 DC AL2(204) * 2302 INB RE SUB CONST S21021 76610021 DC AL2(227) * 2321 INB RE SUB CONST S21021 76620021 DC XL2'0' * DUMMY 000C 76800020 DC XL2'0' * DUMMY 000C 76860020 DC AL2(243) * 2314 INB RE SUB CONST S21021 76920021 SPACE 1 76980020 DS 0D 77040020 DSRCA DC XL5'4000000' MACHINE CHECK ENABLED PSW 77100020 SERBADDR DC AL3(SERB-IEAMCH00) 000C 77160020 EJECT 77220020 DS 0D 77280020 EOFRECRD DC XL4'0' EOF RECORD BUILD AREA 77340020 DC X'FF000000' ID OF EOF RECORD 77400020 DSRCC DC XL8'0' WORK AREA FOR VARIOUS TESTS 77460020 SPACE 2 77520020 * 77580020 ***** R E C O R D E N T R Y B U I L D A R E A 77640020 * 77700020 DS 0F S21021 77760021 CTFLDID DC XL5'0' COUNT FIELD 77820020 CTFLDKEY DC X'00' KEY LENGTH S21021 77880021 CTFLDDL DC AL2(320) DATA LENGTH FOR MC RE S21021 77930021 CLASSRC DC X'18' MACHINE CHECK/SER1 S21021 77940021 SYSREL DC X'00' RELEASE NUMBER S21021 77990021 SWS DC XL6'0' SWITCHES S21021 78000021 SW0 EQU SWS S21021 78050021 SW1 EQU SWS+1 S21021 78060021 * SWITCH SETTINGS ON CPU RECORD S21021 78110021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 78120021 * BIT 1 - NS CLOCK S21021 78170021 * BIT 2 - EC MODE S21021 78180021 * BIT 3 - SPARE S21021 78230021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 78240021 * BIT 5 - SPARE S21021 78290021 * BIT 6 - SPARE S21021 78300021 * BIT 7 - SPARE S21021 78350021 * BIT 8 - SHORT RECORD S21021 78360021 * BIT 9 - RECORD INCOMPLETE S21021 78410021 * BIT 10 - SYSTEM TERMINATED S21021 78420021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 78470021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 78480021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 78530021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 78540021 * BIT 15 - SPARE S21021 78590021 REDATE DC XL4'0' DATE S21021 78600021 RETIME DC XL4'0' TIME S21021 78650021 SP1 DC X'0' NOT USED S21021 78660021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 78710021 RECPUID DC X'0050' CPU ID - MOD 50 S21021 78720021 SP2 DC X'0000' SPARE S21021 78770021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 78780021 JOBNAME DC XL8'0' JOBNAME S21021 78830021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 78840021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 78890021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 78900021 GPRPAR DC XL8'0' GP REG PARITY-FOLD AREA S21021 78950021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 78960021 CPULOG DC 41XL4'0' CPU HARDWARE LOG AREA S21021 79010021 SPACE 2 79020021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 79070021 SPACE 2 79080021 * SWITCH SETTINGS FOR CHANNEL RECORD 79130021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 79140021 * BIT 1 - NS CLOCK S21021 79190021 * BIT 2 - EC MODE S21021 79200021 * BIT 3 - SPARE S21021 79250021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 79260021 * BIT 5 - SPARE S21021 79310021 * BIT 6 - SPARE S21021 79320021 * BIT 7 - SPARE S21021 79370021 * BIT 8 - MESSAGE REQUIRED S21021 79380021 * BIT 9 - RECORD INCOMPLETE S21021 79430021 * BIT 10 - SYSTEM TERMINATED S21021 79440021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 79490021 * BIT 12 - ILLEGAL CUA S21021 79500021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 79550021 * BIT 14 - ERP IN PROGRESS S21021 79560021 * BIT 15 - SPARE S21021 79610021 IJOBNAME EQU PROGID JOBNAME S21021 79620021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 79670021 INCCW EQU PROGID+24 FAILING CCW S21021 79680021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 79730021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 79740021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 79790021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 79800021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 79850021 INMP EQU PROGID+52 MP INFO S21021 79860021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 79910021 EJECT 000D 81000020 *** MESSAGE CCW'S 000D 81060020 SPACE 1 000D 81120020 * 1052 CONSOLE 000D 81180020 * PRINTERS/PUNCHES 000D 81240020 TYPEWRIT CCW 11,0,X'60',1 SOUND ALARM 000D 81300020 DC X'09' TERMINATION 000D 81360020 MSGBFRAD DC AL3(PRTIMAGE-IEAMCH00) MESSAGE 000E 81420020 DC XL4'0000002C' S21021 81480021 COUNT EQU MSGBFRAD+5 000E 81540020 SPACE 1 000D 81600020 *** CONSTANTS / STORAGE 000D 81660020 FOUR DC A(4) A56521 81680021 ***** DO NOT SEPARATE NEXT TWO CONSTANTS A56521 81700021 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 81720020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 81780020 SPACE 2 000D 81840020 * 000D 81900020 SPACE 2 000D 81960020 ***** ERROR TERMINATION PRINT IMAGE 000D 82020020 SPACE 2 000D 82080020 DS 0F 000D 82140020 WTOIMAGE DC AL2(IMAGE-*) 000D 82200020 DC B'1000000000000000' MCS FLAGS FIELD 000D 82260020 PRTIMAGE DC C'IFBF0XI' S21021 82320021 ERRTYPE DC CL14' ' S21021 82370021 IMAGE1 EQU * 000D 82380020 DC CL14' ' BUFFER 000D 82440020 TIMAGE DC CL10' ' S21021 82490021 IMAGE EQU * 000D 82500020 DC B'0001000000000000' DESCRIPTOR CODE 000D 82560020 DC B'1000000000000000' ROUTING CODE 000D 82620020 IMAGE1A DC C' RELOAD OS/360' 000D 82680020 IMAGE2 DC C' EXECUTE SEREP' 000D 82740020 IMAGE3 DC C' LOGREC FULL' 000D 82800020 IMAGE4 DC CL14' RECORD LOST' C 000E 82860020 IMAGE5 DC C' CHAN ERROR.' S21021 82910021 IMAGE6 DC C' CPU ERROR.' S21021 82912021 ***** 90 PER CENT FULL MESSAGE 82914021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 82916021 TD10E5 DC F'200000' S21021 82918021 TDCNVR DC X'0249F000' S21021 82918421 TDIV DC F'10' S21021 82918821 TD12 DC F'12' S21021 82919221 TD24 DC F'24' S21021 82919621 TABLE DC C'0123456789ABCDEF' S21021 82919721 SPACE 2 000D 82920020 ***** ERROR MESSAGE CODE BYTE SIX 000D 82980020 * EQUAL 5 - NORMAL TERMINATION-CHANN FAILURE OR SUP. DAMAGE 000D 83040020 * EQUAL 6 - RECORDING FINISHED-TERM SYS-RECURRING MACHINE CH000D 83100020 * EQUAL 9 - NO RECORDING-DS FULL OR INCORRECT-EXECUTE SEREP 000D 83160020 * EQUAL B - RECORDING FINISHED-CURRENT STEP TO BE TERMINATED000D 83220020 * EQUAL C - NO RECORDING-RE AREA IS FULL-TERMINATE STEP 000D 83280020 * EQUAL D - SER1 FAILED-NO RECORDING-EXECUTE SEREP 000D 83340020 EJECT 000D 83400020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 83460020 SPACE 1 000D 83520020 DS 0H 000D 83580020 LOCCONS EQU * 000D 83640020 L WORK1,CVTCUCB ADDRESS OF CONS.UCM 000D 83700020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 83760020 BC CC1,CONCUA BRANCH--BYPASS 000D 83820020 CLI STARTMCS,KFF MCS CODE AVAILABLE 000D 83880020 BC CC7,NXTENTRY-AD4 BRANCH--NO 000D 83940020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 84000020 BC CC1,MCSROUT BRANCH--YES 000D 84060020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 84120020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 84180020 BC CC1,GETCUAA BRANCH ON EQUAL TO GET CUA 000D 84240020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 84300020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 84360020 GETCUAA EQU * 000D 84420020 BAL WORK5,GETCUA GET CUA 000D 84480020 BC CC15,CONCUA1 BRANCH 000D 84540020 SPACE 1 000D 84600020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 84660020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 84720020 BC CC1,GETCUA1 BRANCH--YES 000D 84780020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 84840020 GETCUA1 EQU * 000D 84900020 BAL WORK5,GETCUA+AD4 GET CUA 000D 84960020 CONCUA1 EQU * 000D 85020020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 85080020 STH MSGCUA,MSTMCS SAVE CUA 000D 85140020 CUAEXIT N DADCUA,CON7FF REMOVE UNUSED BITS 000D 85200020 SSM ZERO 000D 85260020 BCR CC15,LINKREG RETURN TO MAINLINE 000D 85320020 EJECT 000D 85380020 *** GET CUA OF CONSOLE FROM UCB 000D 85440020 SPACE 1 000D 85500020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 85560020 LA WORK1,TYPEWRIT CONSOLE PRINTER 000D 85620020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 85680020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 85740020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 85800020 EJECT 000D 85860020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 85920020 ***** PRINT 90 PER CENT FULL MESSAGE 85970021 SPACE 1 000D 85980020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 86040020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 86090021 ST WORK1,AD72 STORE IN CAW 000D 86100020 TM IORCD,HEX16 TEST FOR NEAR FULL MSG S21021 86150021 BO PRINT1 YES-BRANCH AROUND S21021 86152021 MVI PRTIMAGE+AD6,C'W' SET ACTION CODE IN IMAGE 000D 86160020 CLI IMAGE1+AD1,C'R' COMPARE FOR EX. SEREP MSG 000D 86220020 BC CC8,*+AD8 BR--NOT SEREP MSG 000D 86280020 MVI PRTIMAGE+AD6,C'S' SET ACTION CODE IN IMAGE 000D 86340020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 86400021 SIO AD0(MSGCUA) START I/O 000D 86460020 LA WORK1,HEXA0 COUNT S21021 86520021 SLL WORK1,K10 MULTIPLY S21021 86570021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 86572021 BC CC8,TIOLOPA OK-BRANCH S21021 86574021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 86576021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 86578021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 86580020 BCR CC15,LINKREG RETURN 000D 86640020 EJECT 000D 86700020 *** MCS CONSTANTS / STORAGE 000D 86760020 DC X'0000' 000D 86820020 STARTMCS DC X'FF' 000D 86880020 DS 0D 000D 86940020 * 2740 CONSOLE 000D 87000020 CCW2740 DC X'01' 2740 CCW 000D 87060020 MSGBUFAD DC AL3(PRTIMAGE-IEAMCH00) DATA ADDRESS 000E 87120020 DC XL4'2C' S21021 87180021 SPACE 1 000D 87240020 DC X'01' USED IF HARDCOPY DEVICE 000D 87300020 DUPLIC DC AL3(PRTIMAGE-IEAMCH00) DATA ADDRESS 000E 87360020 DC XL4'2C' S21021 87420021 SPACE 1 000D 87480020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 87600020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 87660020 SPACE 2 000D 87720020 * 000D 87780020 *** PRINT HARDCOPY ROUTINE 000D 87840020 * 000D 87900020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 87960020 LTR WORK1,WORK1 IS IT ZERO 000D 88020020 BCR CC8,LINKREG RETURN 000D 88080020 ST WORK1,AD72 STORE IN CAW 000D 88140020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 88190021 SIO AD0(MSGCUA) START DEVICE S21021 88192021 LA WORK1,HEXA0 COUNT S21021 88200021 SLL WORK1,K10 POSITION 000D 88260020 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 88320020 BC CC8,FREE BRANCH--FREE 000D 88380020 BCT WORK1,PRTHC1 TRY AGAIN 000D 88440020 FREE BR LINKREG RETURN S21021 88500021 EJECT 000D 88680020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 88740020 SPACE 1 000D 88800020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 88860020 L RE,BASESAV1 SECOND BASE REG S21021 88890021 S WORK1,FOUR GET ADDRESS UCM BASE 000D 88920020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 88980020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 89040020 BC CC8,CUAEXIT YES, INVALID 000D 89100020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 89160020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 89220020 BAL RF,CHKAVAIL CONSOLE AVAILABLE 000D 89280020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 89340020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 89400020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 89460020 BAL RF,CHKAVAIL CONSOLE AVAILABLE 000D 89520020 SPACE 2 000D 89580020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 89640020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 89700020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 89760020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 89820020 LTR WORK2,WORK2 SYSLOG ONLY A31693 89880020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 89940020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 90000020 BAL RF,CHKAVAI CONSOLE AVAILABLE 000D 90060020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 90120020 BC CC1,CUAEXIT BRANCH--NO 000D 90180020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 90240020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 90300020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 90360020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 90420020 L WORK1,HCCCWADR CCW ADDRESS 000D 90480020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 90540020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 90600020 BC CC15,CUAEXIT EXIT 000D 90660020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 90720020 BC CC15,CUAEXIT EXIT 000D 90780020 SPACE 1 000D 90840020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 90900020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 90960020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 91020020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 91080020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 91140020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 91200020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 91260020 BC CC1,UCBADD BRANCH--YES 000D 91320020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 91380020 BC CC1,UCBADD BRANCH--YES 000D 91440020 BC CC15,CHKA BRANCH 000D 91500020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 91560020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 91620020 CHKA EQU * 000D 91680020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 91740020 BCR CC15,RF RETURN 000D 91800020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 91860020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 91920020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 91980020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 92040020 BE UCBADD1 YES-BRANCH S21021 92100021 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 S21021 92150021 BC CC7,SAVECCW NO-BRANCH S21021 92160021 LA WORK1,CCW2740 ADDRESS OF 2740 CCW S21021 92210021 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADDR S21021 92212021 LR WORK1,WORK3 RESTORE WORK1 S21021 92214021 BCR CC15,RF RETURN S21021 92216021 SPACE 1 92218021 UCBADD1 L WORK4,K28(WORK4) POINTER TO DCM S21021 92218421 SR PARMREG1,PARMREG1 CLEAR 000E 92220020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 92280020 L WORK1,K20(WORK4) CCW CHAIN 000E 92340020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 92400020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 92460020 AR PARMREG1,WORK1 CCW ADDRESS 000E 92520020 MVC K1(K3,PARMREG1),MSGBFRAD MESSAGE ADDRESS 000E 92580020 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 92640020 B SAVECCW CONTINUE 000E 92700020 EJECT 000D 93180020 *********************************************************************** 93240020 * *000C 93300020 * APPENDAGE ROUTINE *000C 93360020 * THIS ROUTINE GETS CONTROL FROM NIP AND MOVES THE NECESSARY *000C 93420020 * EXTERNAL SYMBOLS DEFINED IN THE LOGOUT AREA INTO THE SER1 CODE *000C 93480020 * *000C 93540020 * IT ALSO RELOCATES ALL ADDRESS CONSTANTS TO A TRUE VALUE *000C 93600020 * RELATIVE TO THE ADDRESS CONTAINED IN REGISTER 0. NIP PASSES IN *000C 93660020 * REG 0 THE ADDRESS OF WHERE SER IS TO RESIDE. THIS ROUTINE THEN *000C 93720020 * MOVES THE SER PROGRAM TO THAT ADDRESS. REGISTER 0 IS THEN SET *000C 93780020 * TO CONTAIN THE ADDRESS OF THE FIRST BYTE AFTER THE SER MODULE *000C 93840020 *******************************************************************000C 93900020 SPACE 2 000C 93960020 DS 0H 000C 94020020 USING *,RF 000C 94080020 IFBINIT LA 1,ADDLIST LOAD ADDRESS OF LIST 000C 94140020 XR R2,R2 CLEAR 000D 94200020 LH R3,ADDLIS DIVIDEND 000D 94260020 LA R4,K4 DIVISOR 000D 94320020 DR R2,R4 DIVIDE TABLE LENGTH 000D 94380020 LR R4,R3 PUT COUNT IN REG 4 000D 94440020 ADDREL L 2,0(1) LOAD ADDRESS 000C 94500020 MVC ADDBUF+1(3),0(2) MOVE ADDRESS TO BUFFER 000C 94560020 L 3,ADDBUF LOAD ADDRESS 000C 94620020 AR 3,0 RELOCATE 000C 94680020 ST 3,ADDBUF STORE IN BUFFER 000C 94740020 MVC 0(3,2),ADDBUF+1 MOVE TO ADDRESS 000C 94800020 LA 1,4(1) GO TO NEXT ADDRESS 000C 94860020 BCT 4,ADDREL BRANCH UNTIL FINISHED 000C 94920020 L R1,CHADDRES LOAD ADDRESS OF EXTERNS 000C 94980020 MVC 0(4,R1),X'80' MOVE IN ADDR OF CHAN CONFIG000C 95040020 L CVTREG,X'10' LOAD ADDRESS OF CVT 000C 95100020 ST CVTREG,4(R1) STORE IN PROGRAM 000C 95160020 L R1,IOBADD LOAD ADDRESS OF SER IOB 000C 95220020 L 3,CVTDCB LOAD ADDRESS OF DCB SER 000C 95280020 SLL 3,8 SHIFT OUT 000C 95340020 SRL 3,8 SYSTEM ID 000C 95400020 ST 3,0(R1) STORE IN SER PROGRAM 000C 95460020 L 3,STARTPRG CURRENT START OF PROGRAM 000C 95520020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 95580020 BC CC1,INCOM BRANCH-- YES 000D 95640020 L R1,BYTENUMB NUMBER OF BYTES WITH MCS 000D 95700020 L R4,LASTBYTE LAST ADR WITH MCS A36397 95750021 L RC,CVTCUCB UCM ADDRESS 000D 95760020 TM UCMMODE(RC),MCSMODE MCS IN SYSTEM 000D 95820020 BC CC1,INCOM0 BRANCH--YES 000D 95880020 INCOM L R1,BYTENUM NUMBER OF BYTES WITHOUT MCS000D 95940020 L R4,LASTBYT LAST ADR WITHOUT MCS A36397 95990021 INCOM0 EQU * 000D 96000020 LR RC,R0 INTENDED START OF PROGRAM 000D 96060020 LA 2,256 MOVE IN BLOCKS OF 256 BYTES000C 96120020 INCOMPAR CR 1,2 BYTES LESS OR EQ TO 256 000C 96180020 BC 12,MOVEEND YES, BRANCH 000C 96240020 MVC 0(256,12),0(3) MOVE 256 BYTES 000C 96300020 LA 3,256(3) UPDATE CURRENT POINTER 000C 96360020 LA 12,256(12) UPDATE DESTINATION POINTER 000C 96420020 SR 1,2 SUBTRACT 256 BYTES 000C 96480020 BC 12,ENDPROG LESS OR EQ TO ZERO, BRANCH 000C 96540020 BC 15,INCOMPAR BRANCH TO KEEP MOVING 000C 96600020 SPACE 1 96660020 MOVEEND BCTR 1,0 SUBTRACT ONE FROM BYTES 000C 96720020 STC 1,*+5 STORE IN INSTRUCTION 000C 96780020 MVC 0(1,12),0(3) MOVE RESIDUE 000C 96840020 ENDPROG LR R0,R4 ADDRESS OF LAST BYTE A36397 96900021 BCR 15,14 BRANCH BACK 000C 96960020 SPACE 1 000C 97020020 * CONSTANTS FOR APPENDAGE ROUTINE ONLY 000C 97080020 STARTPRG DC A(IEAMCH00) 000C 97140020 BYTENUMB DC AL4(IFBINIT-IEAMCH00) 000C 97200020 BYTENUM DC AL4(STARTMCS-IEAMCH00) 000D 97260020 CHADDRES DC A(CHCONFIG) 000C 97320020 IOBADD DC A(IOBDCBP) 000C 97380020 LASTBYTE DC X'00' 000C 97440020 IEAMCHAD DC AL3(IFBINIT-IEAMCH00) 000C 97500020 LASTBYT DC X'00' A36397 97550021 IEAMCHA DC AL3(STARTMCS-IEAMCH00) A36397 97552021 ADDLIS DC Y(ADDBUF-ADDLIST) 000D 97560020 DS 0F 000D 97620020 SPACE 1 97680020 ADDLIST DC AL4(SERCAA) 000C 97740020 DC AL4(SERCBA) 000E 97800020 DC AL4(PTYCHKAD) 000C 97860020 DC AL4(IEAMCADR) 000C 97920020 DC AL4(MSGBFRAD) 000D 97980020 DC AL4(IOBADDRS) 000C 98040020 DC AL4(SESCDADD) 000C 98100020 DC AL4(STARADDR) 000C 98160020 DC AL4(DSRCCADD) 000C 98220020 DC AL4(SKADDRAD) 000C 98280020 DC AL4(HDRCCWAD) 000C 98340020 DC AL4(HDRRECAD) 000C 98400020 DC AL4(SKADRAD1) 000C 98460020 DC AL4(HDRCCWA1) 000C 98520020 DC AL4(HDRRECA1) 000C 98580020 DC AL4(SKADRAD2) 000C 98640020 DC AL4(WRTCCWAD) 000C 98700020 DC AL4(CTFLDADD) 000C 98760020 DC AL4(SKADRAD3) 000C 98820020 DC AL4(EOFCCWAD) 000C 98880020 DC AL4(EOFRECAD) 000C 98940020 DC AL4(IOBECADR) 000C 99000020 DC AL4(SERBADDR) 000C 99060020 DC AL4(IEAMCHAD) 000C 99120020 DC AL4(IEAMCHA) A36397 99170021 DC AL4(MSGBUFAD) 000D 99180020 DC AL4(DUPLIC) 000D 99240020 ADDBUF DC F'0' 000C 99300020 END IFBINIT 000C 99360020 ./ ADD SSI=02013268,NAME=IFBSR165,SOURCE=0 TITLE 'IFBSR165,SER1/SYS ENVIRONMENT RECORD - MIN/INT(MOD 65)' 00060020 *STATUS: CHANGE LEVEL 0 * 00120020 *FUNCTION/OPERATION: SYSTEM ENVIRONMENT RECORDING (CORE RESIDENT). * 00180020 * THIS MODULE IS DESIGNED TO SAVE THE MACHINE ENVIRONMENT ON A * 00240020 * MACHINE CHECK OR AN I/O INBOARD ERROR. ON A MACHINE CHECK, THE * 00300020 * HARDWARE LOGOUT AND PERTINANT INFORMATION-SUCH AS GP AND FP REGS, * 00360020 * PROGRAM ID, ACTIVE I/O UNITS, ETC.- WILL BE GATHERED INTO A * 00420020 * MACHINE CHECK RECORD ENTRY AND WRITTEN ONTO THE LOGREC DATA SET. * 00480020 * ON AN I/O INBOARD ERROR, THE CHANNEL LOGOUT (IF ANY) AND PERTINANT* 00540020 * INFORMATION -SUCH AS PROGRAM ID, ACTIVE I/O UNITS, ETC. -WILL BE * 00600020 * GATHERED INTO AN I/O INBOARD RECORD ENTRY AND WRITTEN ONTO THE * 00660020 * LOGREC DATA SET. * 00720020 * THIS PROGRAM WILL GAIN CONTROL VIA THE MCI NEW PSW. IF CONTROL * 00780020 * WAS GAINED BY A MACHINE CHECK, SER1 WILL GENERATE A MACHINE CHECK * 00840020 * RECORD ENTRY. THIS RE WILL BE WRITTEN OUT ON THE LOGREC DATA SET * 00900020 * FOR LATER EDITING. IF CONTROL WAS GAINED VIA IOS, AN I-O INBOARD * 00960020 * RECORD ENTRY WILL BE GENERATED. THIS WILL BE WRITTEN ON THE * 01020020 * LOGREC DATA SET. ALL WRITING AND READING FROM THE DATA SET * 01080020 * WILL BE DONE USING EXCP. * 01140020 *ENTRY POINTS: SER1 CAN BE ENTERED ONLY THROUGH THE MCI NEW PSW. * 01200020 * BYTE 50 OF THE MCI OLD PSW WILL BE SET TO AN X'FF' BY NIP. IF * 01260020 * A MACHINE CHECK OCCURS, BYTE 50 WILL BE ALTERED TO REFLECT BYTE * 01320020 * 3 OF THE MCI OLD PSW. IF AN I-O CHANNEL ERROR OCCURS, IOS WILL * 01380020 * ENTER SER1 BY EXECUTING A LPSW FROM THE MCI NEW PSW. IN THIS * 01440020 * CASE, BYTE 50 WILL STILL CONTAIN A X'FF'. SER1 WILL CHECK BYTE * 01500020 * 50 TO DETERMINE WHETHER A MACHINE CHECK OR AN I-O INBOARD RECORD * 01560020 * ENTRY IS TO BE GENERATED. * 01620020 *INPUT: THE ONLY INPUT USED BY SER1 IS THE CPU LOG, THE CHANNEL LOG * 01680020 * AND BYTE 50. * 01740020 *OUTPUT: SER1 WILL WRITE THE RECORD ENTRY ON SYSTEM RESIDENCE, IN THE * 01800020 * LOGREC DATA SET. IF SER1 IS GOING TO ABORT THE SYSTEM, IT WILL * 01860020 * TYPE A MESSAGE ON THE PRIMARY OUTPUT DEVICE (USING AN INTERNAL * 01920020 * PRINT ROUTINE). * 01980020 *EXTERNAL ROUTINES: * 02040020 * EXCP--USED FOR READING AND WRITING ON LOGREC DATA SET * 02100020 * IEABTERM-USED TO TERMINATE PROBLEM PROGRAM TASK * 02160020 * PURGE--USED TO HALT I/O ON THE TASK TO BE TERMINATED 02220020 *EXITS-NORMAL: SER1 WILL ENTER ABTERM(IEABTERM) IF THE MACHINE CHECK * 02280020 * OCCURRED WITHIN A PROBLEM PROGRAM, OR WITHIN THE SUPERVISOR STATE * 02340020 * WITH ALL CHANNELS ENABLED AND NO BAD PARITY STORED IN THE SUPER- * 02400020 * VISOR. IN THIS CASE, SER1 WILL PASS A COMPLETION CODE OF * 02460020 * TO ABTERM, AND SET THE RETURN ADDRESS TO THE DISPATCHER(IEAOOS). * 02520020 *EXITS-ERROR: IF SER1 IS ENTERED TO RECORD AN I-O INBOARD FAILURE, * 02580020 * OR AN UNRECOVERABLE MACHINE CHECK OCCURRED, SER1 WILL ENTER THE * 02640020 * WAIT STATE AFTER RECORDING THE RECORD ENTRY. PRIOR TO ENTERING * 02700020 * THE WAIT STATE, SER1 WILL TYPE AN ERROR MESSAGE ON THE PRIMARY * 02760020 * OUTPUT DEVICE. * 02820020 *TABLES/WORK AREAS: NA * 02880020 *ATTRIBUTES: * 02940020 * 1. REUSABLE * 03000020 *NOTES: * 03060020 * SER1 USES EXCP TO READ FROM AND WRITE ONTO THE LOGREC DATA SET. * 03120020 * THE DCB AND DEB USED ARE SET UP BY NIP. WHEN SER1 CANNOT ABTERM * 03180020 * THE CURRENT TASK, IT WILL ENTER THE WAIT STATE. OS/360 MUST BE * 03240020 * RELOADED-IT CANNOT CONTINUE. * 03300020 * * 03320021 * PUBLICATIONS: MFT SUPERVISOR GY27-7236 * 03340021 EJECT 03360020 * HEADER RECORD AREA * 03410021 * ***************************************************************** 03412021 * * * * HIGH * 03414021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 03416021 * * * (CCHH) * (CC) * 03418021 * ***************************************************************** 03418421 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 03418821 * +8 * (CONT.) * * (BBCCHHR) * 03419221 * * (HH) * * * 03419621 * ***************************************************************** 03419721 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 03419821 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 03419921 * * (CONT.) * TRACK * TRACK * WRITTEN * 03439921 * ***************************************************************** 03449921 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 03459921 * +24 * WRITTEN (CONT.) * PER * WARN. * 03466621 * * * CYLINDER * CNT. * 03468621 * ***************************************************************** 03470621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 03472621 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 03473021 * * CNT. * CODE * * SWT. * (FF) * 03473121 * ***************************************************************** 03473221 EJECT 03489921 * CPU RECORD ENTRY AREA * 03506621 * ***************************************************************** 03523321 * * CLASS * SYS- * * * 03540021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 03590021 * * * RLSE. * * * 03600021 * ***************************************************************** 03720020 * * * * 03780020 * +8 * DATE * TIME * 03840020 * * * * 03900020 * ***************************************************************** 03960020 * * * * * * 04020021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 04070021 * * * * * * 04080021 * ***************************************************************** 04130021 * * * 04140021 * +24 * PROGRAM IDENTITY * 04190021 * * * 04200021 * ***************************************************************** 04250021 * * * 04260021 * +32 * JOB IDENTITY * 04310021 * * * 04320021 * ***************************************************************** 04370021 * * * 04380021 * +40 * MACHINE CHECK OLD PSW * 04430021 * * * 04440021 * ***************************************************************** 04490021 * * * 04500021 * +48 * VARIABLE LOGOUT FIELD * 04550021 * * * 04560021 * ***************************************************************** 04610021 * * * 04620021 * * MCH * 04670021 * * DAMAGE ASSESSMENT * 04680021 * * * 04730021 * ***************************************************************** 04740021 EJECT 000C 06660020 SPACE 3 06720020 * INBOARD RECORD ENTRY AREA * 06780020 * ***************************************************************** 06840020 * * CLASS * SYS- * * * 06900021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06950021 * * * RLSE. * * * 06960021 * ***************************************************************** 07080020 * * * * 07140020 * +8 * DATE * TIME * 07200020 * * * * 07260020 * ***************************************************************** 07320020 * * * * * * 07380021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 07430021 * * * * * * 07440021 * ***************************************************************** 07490021 * * * 07500021 * +24 * JOB IDENTITY * 07550021 * * * 07560021 * ***************************************************************** 07610021 * * * 07620021 * +32 * ACTIVE I/O UNITS * 07670021 * * * 07680021 * ***************************************************************** 07730021 * * * 07740021 * +48 * FAILING CCW * 07790021 * * * 07800021 * ***************************************************************** 07850021 * * * 07860021 * +56 * CSW * 07910021 * * * 07920021 * ***************************************************************** 07970021 * * * * 07980021 * +64 * ECSW * DEVICE TYPE * 08030021 * * * * 08040021 * ***************************************************************** 08090021 * * CHAN. * * * 08100021 * +72 * IDENT * CUA * MP INFO * 08150021 * * * * 08160021 * ***************************************************************** 08210021 * * MACHINE DEPENDENT * 08220021 * +80 * CHANNEL * 08270021 * * LOG * 08280021 * ***************************************************************** 08330021 EJECT 09780020 R0 EQU 0 09840020 R1 EQU 1 09900020 R2 EQU 2 09960020 R3 EQU 3 10020020 R4 EQU 4 10080020 R5 EQU 5 10140020 R6 EQU 6 10200020 R7 EQU 7 10260020 R8 EQU 8 10320020 R9 EQU 9 10380020 RA EQU 10 10440020 RB EQU 11 10500020 RC EQU 12 10560020 RD EQU 13 10620020 RE EQU 14 10680020 RF EQU 15 10740020 SPACE 1 10800020 PARMREG0 EQU 5 PARAMETER REGISTER 10860020 PARMREG1 EQU 1 PARAMETER REGISTER 10920020 WORK1 EQU 2 WORK REGISTER 10980020 WORK2 EQU 3 WORK REGISTER 11040020 WORK3 EQU 4 WORK REGISTER 11100020 WORK4 EQU 5 WORK REGISTER 11160020 WORK6 EQU 7 WORK REGISTER 11220020 WORK5 EQU 6 WORK REGISTER 11280020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 11340020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 11400020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 11460020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 11520020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 11580020 SPACE 1 11640020 ENTRY IFBINIT 000C 11700020 EJECT 11760020 NOTDISP EQU 32 11820020 NOTDISB EQU 33 TCB NOT DISPATCHABLE 000D 11880020 NOTDEXT EQU 173 TCB NOT DISPATCHABLE EXTENSION 000D 11940020 NOTDGEN EQU X'01' GENERAL NOT DISPATCH BIT 000D 12000020 NOTDSER EQU X'20' SER TEMP NOT DISPATCH BIT 000D 12060020 NXTTCBP EQU 116 12120020 ACTTCB EQU 4 12180020 UCBACT EQU 6 12240020 IOBPTR EQU 4 12300020 STARTADR EQU 16 12360020 UCBCUA EQU 4 12420020 BASESAVE EQU 372 BASE REGISTER SAVE AREA 12480020 HDWECSW EQU 64 12540020 HDWECUA EQU 58 12600020 SPACE 1 12660020 SHPC EQU 0 12720020 T4PC EQU 4 12780020 LTPC EQU 8 12840020 SPACE 1 12900020 TOPRBP EQU 0 12960020 SPACE 1 13020020 INTCEPT EQU X'44' IOS INTERCEPT CODE IN ECB 13080020 NORMAL EQU X'7F' COMPLETE CODE IN ECB 13140020 EXTENTNG EQU X'42' OUTSIDE EXTENT CODE IN ECB 13200020 SPACE 1 13260020 STANDIO EQU X'40' STANDALONE I/O BEING UTILIZED 13320020 IOCMPLTE EQU X'20' I/O OPERATION COMPLETE SWITCH 13380020 HEADEROK EQU X'10' HEADER READ AND UPDATED OK 13440020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 13500020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 13560020 HEX0 EQU X'00' S21021 13610021 HEX01 EQU X'01' S21021 13612021 HEX08 EQU X'08' S21021 13614021 HEX0F EQU X'0F' S21021 13616021 HEX16 EQU 16 S21021 13618021 HEX20 EQU X'20' 000E 13620020 HEX29 EQU 29 000E 13680020 HEX40 EQU X'40' 000E 13740020 HEX7F EQU X'7F' 000E 13800020 HEX80 EQU X'80' 000E 13860020 HEXBF EQU X'BF' 000E 13920020 HEXA0 EQU X'A0' S21021 13970021 HEXC0 EQU X'C0' S21014 13972021 HEXEF EQU X'EF' S21021 13974021 HEXFF EQU X'FF' 000E 13980020 LOC40 EQU 40 S21014 14030021 LOC43 EQU 43 S21014 14032021 LOC104 EQU 104 000E 14040020 LOC116 EQU 116 000E 14100020 CE EQU C'E' 000E 14160020 RQEAV EQU X'20' 000E 14220020 SPACE 1 14280020 DCBF0 EQU 44 14340020 DEBF2 EQU 32 14400020 DEBF4 EQU 36 14460020 UCBF3B EQU 19 DEVICE TYPE ENTRY 14520020 UCBF12 EQU 20 14580020 TCBTCB EQU 116 NEXT LOWER PRIORITY TCB 000E 14640020 PURGE EQU 16 SVC PURGE 000E 14700020 WTO EQU 35 SVC WTO 000E 14760020 CPUSER1 EQU X'18' MCH RECORDING S21021 14810021 INBSER1 EQU X'28' CLASS AND SOURCE RECORD S21021 14812021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 14814021 EXCP EQU 0 14820020 TCBMSS EQU 24 14880020 LOWBTASK EQU 4 14940020 HIBTASK EQU 8 15000020 SPACE 1 15060020 OPTION1 EQU 64 15120020 SPACE 1 15180020 OBRINPGR EQU X'08' 15240020 OBRPR EQU 299 OBR/SDR IN PRG IND OFFSET FROM SER DCB MFT/MVT 000C 15300020 SPACE 1 15360020 UCMUCB EQU 12 UCM POINTER TO UCB 15420020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 15480020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 15540021 UCMOF EQU 128 WTO SUPPORT (UCM) 15600020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 15660020 SPACE 1 15720020 DEBPT EQU 8 15780020 RDSAVE EQU 376 15840020 UCBPTR EQU 32 15900020 DEBAD EQU 44 15960020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 16020020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 16080020 SPACE 1 16140020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 16200020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 16260020 UCBTYPE EQU 16 S21021 16310021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000D 16320020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 16380020 UCMMODE EQU X'44' UCM FLAGS A47227 16440021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 16500020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 16560020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 16620020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 16680020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 16740020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 16800020 UCMHRDT EQU X'40' UCM HARD COPY 000D 16860020 UCMSTS EQU 24 000D 16920020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 16980020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 17040020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 17100020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 17160020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 17220020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000D 17280020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 17340020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 17400020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 17460020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 17520020 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 17580020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 17640021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 17690021 IOBERR EQU X'20' IOB ERP INDICATOR 23243 17700020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 17760020 EJECT 17820020 * EQUATES USED FOR CONDITION CODES 17880020 CC1 EQU 1 000D 17940020 CC6 EQU 6 000D 18000020 CC7 EQU 7 000D 18060020 CC8 EQU 8 000D 18120020 CC9 EQU 9 000D 18180020 CC15 EQU 15 000D 18240020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 18300020 AD0 EQU 0 000D 18360020 AD1 EQU 1 000D 18420020 AD2 EQU 2 S21021 18470021 AD3 EQU 3 S21021 18472021 AD4 EQU 4 000D 18480020 AD5 EQU 5 000D 18540020 AD6 EQU 6 000D 18600020 AD8 EQU 8 000D 18660020 AD9 EQU 9 S21021 18710021 AD12 EQU 12 000D 18720020 AD16 EQU 16 000E 18780020 AD20 EQU 20 000E 18840020 AD56 EQU 56 000D 18900020 AD72 EQU 72 000D 18960020 AD80 EQU 80 A38648 18990021 AD124 EQU 124 000D 19020020 * EQUATES USED FOR CONSTANTS 19080020 K2 EQU 2 000D 19140020 K4 EQU 4 000D 19200020 K5 EQU 5 000D 19260020 K8 EQU 8 000E 19320020 K9 EQU 9 S21021 19370021 K10 EQU 10 000D 19380020 K12 EQU 12 S21021 19430021 KFF EQU X'FF' 000D 19440020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 19500020 M1 EQU 1 S21021 19550021 M2 EQU 2 000D 19560020 M3 EQU 3 000D 19620020 M4 EQU 4 S21021 19670021 M6 EQU 6 000D 19680020 M7 EQU 7 S21021 19730021 M8 EQU 8 000E 19740020 M12 EQU 12 000D 19800020 M14 EQU 14 000D 19860020 M36 EQU 36 000D 19920020 M23 EQU 23 S21021 19970021 M29 EQU 29 S21021 19972021 M44 EQU 44 S21021 19974021 M56 EQU 56 S21021 19976021 K1 EQU 1 000E 19980020 K3 EQU 3 000E 20040020 K6 EQU 6 000E 20100020 K20 EQU 20 000E 20160020 K28 EQU 28 000E 20220020 SPACE 1 20280020 EJECT 20340020 IFBSER1 CSECT 20400020 *0122 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 20460021 *0277 035400-036600,040200-066000,069000-070200,073800-097200, S21021 20510021 * 176400,229200,232800,236400,298800,304800,306600,313200, S21021 20520021 * 315600-330000,334800,342000-345600,348000-348600, S21021 20570021 * 417600-418200,447600,461400,474600-480600,483600,489600, S21021 20580021 * 490800-491400,493800,497400-498000,499200,500400-502800, S21021 20630021 * 526800,544800-545400,549600-551400,570600,571800-572400, S21021 20640021 * 585600,586800,601800,627000,707400,714600,721800, S21021 20690021 * 732600-737400,753000,756600-759000,760800,762000-764400, S21021 20700021 * 766200,774600,775800-807000,812400,820200,861000,868800, S21021 20750021 * 871200,872400 S21021 20760021 * 965400 A36397 20810021 USING CVTDSECT,CVTREG 21780020 CVTDSECT DSECT 21840020 EQUATE CVT SYS=MIN 21900020 IFBSER1 CSECT 21960020 EJECT 22020020 *********************************************************************** 22080020 *** *** 22140020 ***** INITIAL ENTRY POINT FROM NEW MACHINE CHECK PSW ***** 22200020 *** *** 22260020 *********************************************************************** 22320020 USING *,RD 22380020 IEAMCH00 DS 0C 22440020 IEAMCH ST RD,RDSAVE SAVE REGISTER IN LOWER CORE 22500020 L RD,116 SET BASE REG FROM MCI NEW PSW 22560020 SPACE 1 22620020 OI 105,X'02' SET WAIT BIT IN PI NEW PSW 22680020 ST RD,BASESAVE SAVE BASE REGISTER 22740020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 22790021 TM 50,X'FF' TEST FOR CHANN TYPE ENTRY 22800020 BC 14,STARTC BRANCH--NOT CHANNEL TYPE 22860020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 22920021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 22970021 MVC INLOG(24),304 MOVE CHANNEL LOG TO RE AREA 22980020 BC 15,STARTB 23040020 STARTC MVC CPULOG(176),128 MOVE LOGOUT TO RE AREA 23100020 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CHAN ERROR S21021 23150021 MVC MCIOPSW(8),48 SAVE MCI OLD PSW IN RE AREA 23160020 MVC EOFRECRD+2(2),114 SAVE INTERRUPT CODE FIELD-EOF 23220020 STARTB OI SW1,RECINC SET INCOMP RECORD IND S21021 23280021 MVC 112(8),DSRCA SETUP NEW MACHINE CHECK PSW 23340020 LPSW DSRCA ENABLE MCI'S 23400020 SERB MVC 112(8),SERCA SETUP NEW MACHINE CHECK PSW 23460020 MVC SESCE(8),104 SAVE NEW PROG INT PSW 23520020 MVC LOC104(K8),SERCB SET NEW PRGM CHK PTR A 000E 23580020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 23640021 BC 8,SERP BRANCH--CHANNEL CHECK RECORDING 23700020 EJECT 23760020 *********************************************************************** 23820020 *** *** 23880020 ***** GENERAL PURPOSE REGISTER PARITY TEST ***** 23940020 *** *** 24000020 *********************************************************************** 24060020 GPRTNV OI 113,X'04' SET MC ENABLED BIT IN PSW 24120020 MVC 117(3),PARCHK2 LOAD RESUME ADDR IN MC PSW 24180020 MVC GPREGS+52(4),RDSAVE ATTEMPT TO MOVE R13 TO RE AREA 24240020 NI GPRPAR+1,X'FB' CLEAR PARITY INDICATOR IN RE 24300020 GPR14 MVC 117(3),PARCHK3 LOAD RESUME ADDR IN MC PSW 24360020 ST RE,GPREGS+56 ATTEMPT TO STORE R14 IN RE AREA 24420020 NI GPRPAR+1,X'FD' CLEAR PARITY INDICATOR IN RE 24480020 GPR15 MVC 117(3),PARCHK4 LOAD RESUME ADDR IN MC PSW 24540020 ST RF,GPREGS+60 ATTEMPT TO STORE R15 IN RE AREA 24600020 NI GPRPAR+1,X'FE' CLEAR PARITY INDICATOR IN RE 24660020 GPTEST1 NI 113,X'FB' SET MC DISABLED BIT IN PSW 24720020 LPSW GPPSW2 DISABLE MACHINE CHECKS 24780020 AL RE,ZERO CORRECT POTENTIAL BAD PARITY 24840020 AL RF,ZERO CORRECT POTENTIAL BAD PARITY 24900020 STM RE,RF,GPREGS+56 SAVE REGS 14-15 IN RE AREA 24960020 XR RE,RE CLEAR REGISTER 25020020 AL RE,RDSAVE CORRECT POTENTIAL BAD PARITY 25080020 ST RE,GPREGS+52 SAVE REGISTER 13 IN RE AREA 25140020 ST RE,RDSAVE CORRECT BAD PARITY IN CORE 25200020 LA RF,GPTEST2 RESUME ADDR IF PENDING MACH CHK 25260020 ST RF,116 STORE IN NEW MACHINE CHECK PSW 25320020 GPTEST2 LPSW GPPSW1 CLEAR PENDING MC BY ENABLING 25380020 MVC 117(3),PARCHK5 LOAD RESUME ADDR IN MC PSW 25440020 LH RE,EXMODMSK EXECUTE MODIFICATION MASK 25500020 NEXTREG EX RE,EXSTORE ATTEMPT EXECUTION OF STORE INST 25560020 SH RE,EXCONST SUBTRACT ONE FROM EXECUTE MASK 25620020 BC 10,NEXTREG BRANCH TO TEST NEXT REGISTER 25680020 STM R0,RC,GPREGS STORE REMAINING REGS IN RE AREA 25740020 MVC 117(3),SERCAA RESTORE NEW MACHINE CHECK PSW 25800020 BC 15,FPTEST BRANCH--FINISHED WITH GPR TEST 25860020 SPACE 1 25920020 MACHCK EX RE,EXADD CORRECT BAD PARITY IN REGISTER 25980020 SRL RE,4 POSITION EXECUTE MASK 26040020 L RF,FLTBIT PARITY INDICATOR CONSTANT 26100020 SRL RF,0(RE) POSITION PARITY INDICATOR 26160020 O RF,GPRPAR OR PARITY INDICATORS 26220020 ST RF,GPRPAR STORE PARITY INDICATORS IN RE 26280020 SLL RE,4 RE-POSITION EXECUTE MASK 26340020 LPSW GPTSTRTN ENABLE--BR TO PROCESS NEXT REG 26400020 SPACE 2 26460020 DS 0D 26520020 GPPSW1 DC XL5'4000000' MACHINE CHECK ENABLED PSW 26580020 GPTST2AD DC AL3(GPTEST2+4-IEAMCH00) 000C 26640020 GPPSW2 DC XL5'0' MACHINE CHECK DISABLED PSW 26700020 GPTST1AD DC AL3(GPTEST1+8-IEAMCH00) 000C 26760020 GPTSTRTN DC XL5'4000000' MACHINE CHECK ENABLED PSW 26820020 NXTREGAD DC AL3(NEXTREG+4-IEAMCH00) 000C 26880020 SPACE 1 26940020 FLTBIT DC X'80000000' PARITY INDICATOR CONSTANT 27000020 EXCONST DC XL2'10' EXECUTE MASK SUBTRACTION CONST 27060020 EXMODMSK DC XL2'C0' INITIAL EXECUTE MODIF. MASK 27120020 EXSTORE ST R0,128 OPERAND OF EXECUTE INSTRUCTION 27180020 EXADD AL R0,ZERO OPERAND OF EXECUTE INSTRUCTION 27240020 SPACE 1 27300020 PARCHK2 DC AL3(GPR14-IEAMCH00) PSW ADDR FOR REG 13 TEST 000C 27360020 PARCHK3 DC AL3(GPR15-IEAMCH00) PSW ADDR FOR REG 14 TEST 000C 27420020 PARCHK4 DC AL3(GPTEST1-IEAMCH00) PSW ADDR FOR REG 15 TEST 000C 27480020 PARCHK5 DC AL3(MACHCK-IEAMCH00) PSW ADDR FOR REG 0-12 TEST 000C 27540020 EJECT 27600020 *********************************************************************** 27660020 *** *** 27720020 ***** FLOATING POINT REGISTER PARITY TEST ***** 27780020 *** *** 27840020 *********************************************************************** 27900020 FPTEST LA R3,FPREGS ADDR OF REGS IN RE AREA 27960020 LA R2,128 FP REG FLOATING INDICATOR 28020020 SLR R6,R6 CLEAR REGISTER 28080020 SLR R5,R5 CLEAR REGISTER--EX MOD MASK 28140020 LA R4,4 COUNTER FOR FOUR FP REGS 28200020 REPEAT LA R1,REGPAR ADDR OF MACHINE CHECK ENTRY PT 28260020 ST R1,116 STORE IN MACHINE CHECK NEW PSW 28320020 EX R5,STDFPR EXECUTE STORE DOUBLE INSTR 28380020 SRLIND SRL R2,1 POSITION FLOATING INDICATOR 28440020 LA R5,32(R5) UPDATE EXECUTE INSTRUCTION MASK 28500020 LA R3,8(R3) NEXT FP REG SAVE AREA 28560020 LA R1,STPSW RESUME ADDRESS FOR MACHINE CHK 28620020 STPSW ST R1,116 STORE IN NEW MC PSW 28680020 LPSW ENAB1 ENABLE TO CLEAR PENDING MC'S 28740020 RESUME BCT R4,REPEAT REPEAT FOR NEXT FP REG 28800020 STC R6,FPRPAR STORE PARITY INDICATORS IN RE 28860020 MVC 112(8),SERCA RESTORE NEW MC PSW 28920020 BC 15,SERP BRANCH TO NEXT FUNCTION 28980020 SPACE 2 29040020 REGPAR OR R6,R2 SET REG PARITY INDICATOR 29100020 EX R5,STDFPR EXECUTE STORE FP REG INSTRUCTIO 29160020 MVC 0(4,R3),0(R3) CORRECT BAD PARITY IN STORAGE 29220020 MVC 4(4,R3),4(R3) CORRECT BAD PARITY IN STORAGE 29280020 EX R5,LDFPR CORRECT BAD PARITY IN REGISTER 29340020 BC 15,SRLIND BR TO SETUP FOR NEXT REG 29400020 SPACE 2 29460020 STDFPR STD 0,0(R3) STORE FP REGISTER 29520020 LDFPR LD 0,0(R3) LOAD FP REGISTER 29580020 DS 0D 29640020 ENAB1 DC XL5'4000000' MACHINE CHECK ENABLED PSW 29700020 RESUMEAD DC AL3(RESUME-IEAMCH00) 000C 29760020 EJECT 29820020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 29880021 SPACE 1 29940020 SERP LA LINKREG,SERH SET PCI RTN PTR TO SERH A 000E 30000020 L CVTREG,INTCVTPT GET ADR COM VCTR TABLE A 000E 30060020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 30110021 S WORK1,FOUR GET NEG OFFSET S21021 30112021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 30114021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 30116021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 30118021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 30118421 STC WORK1,SYSREL PUT IN RECORD S21021 30118821 MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY AREA 30120020 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 30180020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 30240020 ST TCBREG,PURGPARM+4 STORE TCB ADDR IN PURGE LIST 30300020 SPACE 1 30360020 ***** COMPUTE LOCAL TIME OF DAY FOR RECORD ENTRY 30420020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 30480021 SPACE 1 30530021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 30532021 XR WORK1,WORK1 CLEAR REGISTER 30540020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 30600020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 30660021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 30720020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 30780020 L WORK3,80 LOAD HARDWARE TIMER 30840020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 30900020 SLR WORK2,WORK3 SUBTRACT TIMER 30960020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 31020020 BC 3,TADJUST BRANCH ON OVERFLOW 31080020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 31140020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 31200020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 31260020 SRL R3,1 CONVERT TO BIN S21021 31320021 M R2,TD10E5 S21021 31370021 D R2,TDCNVR S21021 31372021 LA R1,32 INITIALIZE LOOP S21021 31374021 L R6,TDIV INITIALIZE REG. S21021 31376021 TDVD SR R2,R2 CLEAR REG S21021 31378021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 31378421 LR R4,R2 S21021 31378821 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 31379221 SH R1,*-2 DECREMENT BY 4 S21021 31379621 LTR R3,R3 IS DIVIDEND 0 S21021 31379721 BZ TDENDCNV YES-BRANCH S21021 31379821 C R1,TD24 IS COUNT =24 S21021 31379921 BNL TDVD BRANCH IF NOT S21021 31399921 X R6,TD12 ALT. DIVISION S21021 31409921 B TDVD S21021 31419921 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 31426621 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 31428621 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 31430621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 31432621 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 31433021 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 31433121 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 31433221 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 31449921 MVI TIMAGE,C',' SET COMMA S21021 31459921 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 31461921 SPACE 1 31466621 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 31483321 SPACE 1 31500020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 31560021 BE CSERB YES - BRANCH S21021 31610021 SPACE 1 33060020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 33120020 SPACE 1 33180020 SERG LA LINKREG,FAILTCB SET PCI RTN PTR S21021 33240021 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 33300020 XR WORK2,WORK2 CLEAR REGISTER 33360020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 33420020 BE FAILTCB BRANCH IF ILLEGAL S21021 33480021 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 33540020 BC 7,*+6 BR--RB IS NOT A PRB 33600020 LR WORK2,WORK1 SAVE PRB ADDRESS 33660020 MVI RBLINK(WORK1),0 CLEAR RB WAIT COUNT 33720020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 33780020 BC 1,ENDRBLST BR--END OF RB LIST 33840020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 33900020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 33960020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 34020020 BC 8,FAILTCB BRANCH TO LOAD JOB NAME 000C 34080020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE 34140020 ***** GET JOBNAME IN PROPER AREA 34200021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 34250021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 34260021 SPACE 3 34620020 ***** DETERMINE STATE OF SYSTEM AT INTERRUPT TIME 34680020 SPACE 1 34740020 TM MCIOPSW,HEXFF IS THE SYSTEM DISABLED 000E 34920020 BNO SERLI YES LOAD A WAIT STATE 000E 34980020 L WORK3,CVTCUCB GET UCM ADDRESS A44512 34990021 C TCBREG,HEX40(WORK3) IS IT COMTASK A44512 35000021 BE SERLI YES-LOAD WAIT STATE A44512 35010021 TM MCIOPSW+2,X'80' TEST FOR EXTERNAL MACHINE CHECK 35040020 BC 1,SERLI BR--NO RECOVERY--EXT MACH CHK 35100020 TM CVTDCB,OPTION1 PCP SYSTEM 000C 35160020 BC 1,OBRPCP YES, BRANCH 000C 35220020 L WORK3,CVTDCB ADDRESS OF SER DCB 000C 35280020 TM OBRPR(WORK3),OBRINPGR TEST IF OBR/SDR IN PROGRESS000C 35340020 BC 15,OBRPCP+4 BRANCH 000C 35400020 OBRPCP TM EOFRECRD+2,OBRINPGR TEST IF OBR/SDR IN PRG/PCP 000C 35460020 BE OBRPCPA C 000E 35520020 OI IORCD,HEX40 SET OBR/SDR IN PROGRESS C 000E 35580020 OBRPCPA EQU * C 000E 35640020 SPACE 1 35700020 ***** CHECK FOR PARITY ERRORS IN MAIN STORAGE 35760020 SPACE 1 35820020 **************************************************************** B 000E 35880020 **************************************************************** B 000E 35940020 * B 000E 36000020 * B 000E 36060020 * TEST THE NUCLEUS FOR BAD PARITY B 000E 36120020 * B 000E 36180020 PTYCHK LA WORK1,PTYCHK2 SET UP LOAD PSW ! 000E 36240020 ST WORK1,MSCHKPSW+AD4 B 000E 36300020 LA WORK1,PTYCHK5 SET UP NEW MC PSW B 000E 36360020 ST WORK1,LOC116 IN LOW CORE B 000E 36420020 SR WORK1,WORK1 GET START ADDR B 000E 36480020 PTYCHK1 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 36540020 PTYCHK2 LA WORK1,AD16(WORK1) UP POINTER BY 16 B 000E 36600020 CL WORK1,CVTNUCB ARE WE AT END OF NUC B 000E 36660020 BL PTYCHK1 NO LOOP ON B 000E 36720020 TM IORCD,HEX20 YES ANY ERRORS B 000E 36780020 BO SERLI YES LOAD A WAIT STATE B 000E 36840020 * B 000E 36900020 * B 000E 36960020 **************************************************************** B 000E 37020020 **************************************************************** B 000E 37080020 * B 000E 37140020 * B 000E 37200020 * B 000E 37260020 * TEST THE CURRENT TCB'S REGION OR PARTITION B 000E 37320020 * B 000E 37380020 LA WORK1,PTYCHK4 SET UP LOAD PSW AGAIN B 000E 37440020 ST WORK1,MSCHKPSW+AD4 B 000E 37500020 LA WORK1,PTYCHK6 SET UP NEW MC PSW B 000E 37560020 ST WORK1,LOC116 B 000E 37620020 * THE FOLLOWING TEST IS TO HANDLE WAIT STATE MACHINE CHECKS 37630021 C TCBREG,AD0(TCBREG) TEST FOR WAIT TCB A56526 37640021 BE PTYCHK4A YES-BRANCH AROUND A56526 37650021 L WORK1,TCBMSS(TCBREG) FIND BOUNDARIES B 000E 37680020 L WORK6,HIBTASK(WORK1) POINTER TO HI BOUND B 000E 37740020 L WORK1,LOWBTASK(WORK1) POINTER TO LOW BOUND B 000E 37800020 ST WORK6,CHKTCB1 SAVE IT FOR COMPARE B 000E 37860020 SR WORK6,WORK6 CORRECTON FACTOR B 000E 37920020 PTYCHK3 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 37980020 PTYCHK4 LA WORK1,AD16(WORK1) BUMP ADDRESS BY 16 B 000E 38040020 CL WORK1,CHKTCB1 ARE WE DONE WITH REGION B 000E 38100020 BL PTYCHK3 NO LOOP BACK FOR MORE B 000E 38160020 PTYCHK4A MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH PSW A56526 38220021 B SYSTEMIO ALL DON E GO ON TO ABEND B 000E 38280020 * B 000E 38340020 PTYCHK5 OI IORCD,HEX20 TURN ON ERROR IN NUC B 000E 38400020 L WORK1,CVTNUCB SET WORK1 TO STOP TST B 000E 38460020 MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH CHK PSW B 000E 38520020 B PTYCHK7 LOAD PSW AND GO ON B 000E 38580020 * B 000E 38640020 PTYCHK6 AR WORK2,WORK6 ADD ZERO TO RESET PARITY B 000E 38700020 AR WORK3,WORK6 ADD ZERO TO RESET PARITY B 000E 38760020 AR WORK4,WORK6 ADD ZERO TO RESET PARITY B 000E 38820020 AR WORK5,WORK6 ADD ZERO TO RESET PARITY B 000E 38880020 STM WORK2,WORK5,AD0(WORK1) STOW BACK CORRECTS PRTY B 000E 38940020 PTYCHK7 LPSW MSCHKPSW GO ON TESTING B 000E 39000020 * B 000E 39060020 * B 000E 39120020 **************************************************************** B 000E 39180020 SPACE 3 39230021 *********************************************************************** 39232021 RECOMP L WORK3,K12(TCBREG) LOAD ADDR OF TIOT S21021 39234021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 39236021 TM IORCD,HEX80 TEST FOR PCI ERRORS S21021 39238021 BO RECOMPA YES-BRANCH S21021 39238421 NI SW1,HEXFF-RECINC CLEAR RECORD INCOMP S21021 39238821 RECOMPA NI IORCD,HEX7F CLEAR PCI ERR IND S21021 39239221 MVI PCICOUNT+AD1,K1 SET COUNTER TO ONE S21014 39239621 CVTGTF EQU EQUATE+236 *** TO BE REMOVED WHEN GTF ***S21014 39239721 * *** POINTER IS AVAILABLE ***S21014 39239821 BR LINKREG RETURN S21021 39239921 *********************************************************************** 39259921 SPACE 1 39269921 **** SAVE ERROR MESSAGE 39279921 SAVEMSG MVC CPULOG(M44),PRTIMAGE SAVE ERROR MESSAGE S21021 39286621 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 39288621 MVC PRTIMAGE(M29),WTO90 GET NEAR FULL MESSAGE S21021 39290621 BR LINKREG RETURN S21021 39292621 EJECT 39293321 *********************************************************************** 39300020 *** *** 39360020 ***** THIS ROUTINE WILL PREPARE TO EXIT TO ABEND ***** 39420020 *** *** 39480020 *********************************************************************** 39540020 SPACE 1 39600020 SESF SSM ZERO DISABLE I/O AND EXT INTERRUPTS 39660020 SPACE 1 39720020 ***** RESTORE TASKS TO A DISPATCHABLE STATE 39780020 SPACE 1 39840020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 39900020 BC 1,SESFC YES - BYPASS 39960020 L R7,CVTHEAD HIGHEST PRIORITY TCB 40020020 SESFA EQU * 000D 40080020 TCBNDB NI NOTDEXT(R7),HEXFF-NOTDSER CLEAR SER TEMP NOT DISP 000E 40140020 NC NOTDEXT(M3,R7),NOTDEXT(R7) MORE DISP BITS 000D 40200020 BC CC7,TCBNDBA BRANCH--NO 000D 40260020 NI NOTDISB(R7),HEXFF-NOTDGEN CLEAR OUT EXT FLD USED 000E 40320020 TCBNDBA EQU * 000D 40380020 SESFB L R7,116(R7) NEXT TCB - LOWER PRIORITY 40440020 LTR R7,R7 LAST TCB 40500020 BC 7,SESFA NO - CONTINUE 40560020 SESFC NI HEX29(TCBREG),HEXFF-AD1 CLEAR PROHIBIT ASY EXIT 000E 40620020 SPACE 1 40680020 ***** SETUP FOR WRITE TO OPERATOR AND DELAY 40740020 SPACE 1 40800020 WTOMSG TM IORCD,HEX16 TEST FOR EW MESSAGE S21021 40860021 BZ NOTFUL NO-BRANCH AROUND S21021 40910021 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 40912021 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 40914021 SVC WTO WRITE TO OPERATOR S21021 40916021 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 40918021 NOTFUL NI IORCD,HEXEF CLEAR EW SWITCH S21021 40918421 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 40918821 SVC 35 WRITE TO OPERATOR SVC CALL 40920020 LA WORK1,4 WTO DELAY COUNTER 40980020 SLL WORK1,19 POSITION DELAY COUNTER 41040020 BCT WORK1,* DELAY FOR WTO COMPLETION 41100020 SPACE 1 41160020 ***** SETUP FOR ABEND ENTRY 41220020 SPACE 1 41280020 LR R0,TCBREG ADDRESS OF ACTIVE TCB 41340020 L RF,CVTBTERM ABEND ENTRY POINT 41400020 L R1,ABNDCODE ABEND COMPLETION CODE 41460020 BALR RE,RF BRANCH TO ABEND 41520020 SPACE 1 41580020 ***** FINAL HOUSEKEEP AND EXIT TO DISPATCHER 41640020 SPACE 1 41700020 XC PROGID(M56),PROGID CLEAR RE AREA S21021 41760021 NI SW1,HEXBF CLEAR RECORD INCOMPLETE S21021 41810021 L RE,CVT0DS DISPATCHER ADDRESS 41880020 NI SESCE+1,X'04' CLEAR WAIT BIT IN PROG INT PSW 41940020 XC IORCC(M2),IORCC CLEAR INTERNAL SWITCHES A 000E 42000020 MVI PCICOUNT+AD1,AD16 RESTORE COUNT TO 16 A 000E 42060020 XC CHKTCB1(K4),CHKTCB1 & SAVE AREAS D 000E 42120020 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 42180021 MVI GPRPAR+1,7 INITIALIZE RE PARITY INDICATORS 42240020 MVC 104(16),SESCE RESTORE INITIAL PI AND MC PSW'S 42300020 MVI 50,X'FF' SET IND TO TEST MACH CHECK 42360020 L WORK1,CVTTCBP GET PTR TO NEW/OLD TCB A38648 42410021 SR WORK2,WORK2 CLEAR REGISTER A38648 42412021 L WORK3,CVTHEAD GET HIGHEST PRIORITY TCB A38648 42414021 STM WORK2,WORK3,AD0(WORK1) STORE MODIFIED NEW/OLD A38648 42416021 LM R2,R9,AD80(WORK3) GET REGS FOR DISPATCHER A38648 42418021 BCR 15,RE EXIT SER1--BRANCH TO DISPATCHER 42420020 EJECT 42480020 *********************************************************************** 42540020 *** *** 42600020 ***** UNEXPECTED MACHINE CHECK OR PROGRAM INTERRUPT OCCURRED ***** 42660020 *** *** 42720020 *********************************************************************** 42780020 MCI2 L RD,BASESAVE LOAD SAVED BASE REGISTER VALUE 42840020 L CVTREG,INTCVTPT LOAD ADDR OF COMM VECTOR TABLE 42900020 LM RE,RB,0 CLEAR POTENTIAL BAD PARITY 42960020 TM IORCC,X'20' TEST IF I/O IS COMPLETE 43020020 BC 1,WAITTERM BRANCH--TERMINATE SYSTEM 43080020 TM IORCC,SECONDMC TEST FOR SECOND MACHINE FAILURE 43140020 BC 1,SEREP BR--SECOND FAILURE HAS OCCURRED 43200020 OI IORCC,SECONDMC SET SECOND FAILURE FLAG 43260020 TM IORCC,X'48' TEST STANDALONE AND I/O IN PROG 43320020 BC 1,SEREP3 BR--ATTEMPT SEREP SETUP 43380020 BC 15,IOFAIL+8 BR--ATTEMPT OUTPUT AGAIN 43440020 IOFAIL TM IORCC,STANDIO TEST FOR STANDALONE I/O 43500020 BC 1,ERREXIT2 BRANCH--STANDALONE I/O 43560020 OI IORCC,STANDIO SET STANDALONE I/O FLAG 43620020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 43680020 LA WORK1,WRITENT WRITE RECORD ENTRY POINT 43740020 TM IORCC,X'10' TEST IF HEADER RECORD READ OK 43800020 BC 1,*+8 HDR OK--BRANCH TO WRITE RE 43860020 LA WORK1,SERLI READ HEADER ENTRY POINT 43920020 ST WORK1,DSRCA+4 STORE ADDRESS IN PSW 43980020 LPSW DSRCA ENABLE MC'S - BR TO OUTPUT 44040020 WAITTERM MVI PRTIMAGE+5,C'6' SET ERROR MESSAGE CODE 44100020 LA R0,X'F06' WAIT PSW ERROR CODE 44160020 BC 15,ERREXIT1+8 BR TO PRT MESSAGE AND TERMINATE 44220020 SPACE 1 44280020 ***** SETUP FOR SEREP OUTPUT 44340020 SPACE 1 44400020 SEREP MVI 121,0 DISABLE MC IN I/O NEW PSW 44460020 SEREP3 MVI PRTIMAGE+5,C'D' SWT ERROR MESSAGE CODE 44520020 LA R0,X'F0D' WAIT PSW ERROR CODE 44580020 BAL LINKREG,ERREXIT2+12 BRANCH TO SETUP PRINT IMAGE 44640020 SPACE 1 44700020 SEREP1 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 44760021 BC 8,SEREPIN BRANCH--INBOARD RE 44820020 MVC 128(176),CPULOG MOVE LOG TO LOGOUT AREA 44880020 MVC 48(8),MCIOPSW MOVE MC PSW TO HARDWARE LOC. 44940020 MVI 115,0 CLEAR SEREP INTERFACE BYTE 45000020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 45060020 SPACE 1 45120020 SEREPIN MVC 304(24),INLOG MOVE CHANN LOG TO LOGOUT AREA 45180020 MVC 64(8),INCSW MOVE CSW TO HARDWARE LOCATION 45240020 MVC 58(2),INCUA MOVE CUA TO I/O OLD PSW 45300020 MVI 115,X'0F' SETUP SEREP INTERFACE BYTE 45360020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 45420020 SPACE 1 45480020 SPACE 2 45540020 ***** ENTER WAIT STATE WITH ALL INTERRUPTS DISABLED 45600020 SPACE 1 45660020 EXIT ST R0,SERCA+4 STORE TERMINATION CODE IN PSW 45720020 MVI SERCA+1,X'02' SET WAIT BIT 45780020 LPSW SERCA ENTER WAIT STATE 45840020 * A 000E 45900020 * PROGRAM CONTROL CHECK WHILE FILLING RE A 000E 45960020 * A 000E 46020020 PCIERR L RD,BASESAVE RESTORE BSSE ADDR A 000E 46080020 L CVTREG,INTCVTPT RESET CVT PIONTER S21014 46140021 TM CVTGTF,HEXC0 TEST GTF ACTIVE S21014 46190021 BZ PCIERR0 BRANCH--NO S21014 46192021 CLI LOC43,K1 TEST FOR OPER INT S21014 46194021 BNE PCIERR0 BRANCH--NO S21014 46196021 LPSW LOC40 RETURN S21014 46198021 PCIERR0 OI IORCD,HEX80 TURN ON PCI ERROR IND S21014 46198421 PCIERRB LH PARMREG0,PCICOUNT NO. OF ENTRIES ALLOWED A 000E 46200020 BCT PARMREG0,PCIERRA IF NOT ZERO OK A 000E 46260020 LPSW SERCA GTR THAN 16 ENTRYS-WAIT A 000E 46320020 PCIERRA STH PARMREG0,PCICOUNT SAVE COUNT A 000E 46380020 BR LINKREG RETURN A 000E 46440020 EJECT 46500020 *********************************************************************** 46560020 * * 46620020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 46680020 * * 46740020 *********************************************************************** 46800020 SPACE 1 46860020 ***** MOVE CSW AND CUA INTO RECORD ENTRY AREA 46920020 SPACE 1 46980020 CSERB LA LINKREG,FAILCCW SET PCI RTN TO FAILCCW A 000E 47040020 MVC INCSW(K8),HDWECSW MOVE CSW RO RE AREA A 000E 47100020 LH WORK2,HDWECUA LOAD CUA FROM I/O OLD PSW 47160020 STH WORK2,INCUA STORE CUA INTO RECORD ENTRY 47220020 * GET CHANNEL IDENTITY 47270021 SR WORK1,WORK1 CLEAR REG S21021 47272021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 47274021 SRL WORK3,K9 GET CHAN/2 S21021 47276021 L WORK5,CHCONFIG GET ADDR OF CHAN TABLE S21021 47278021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 47278421 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 47278821 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 47279221 TM HDWECUA,HEX01 TEST FOR ODD CHAN ADDR S21021 47279621 BO ODDADR BRANCH IF ODD S21021 47279721 * EVEN ADDRESS 47279821 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 47279921 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 47299921 * GET CHANNEL ADDRESS FOR MESSAGE 47309921 ODDADR MVC ERRTYPE+K6(M1),HDWECUA MOVE NUMERIC PORTION S21021 47319921 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 47326621 SPACE 1 47333321 ***** LOCATE UCB AND LAST REQUEST ELEMENT 47340020 SPACE 1 47400020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 47460021 STH WORK2,INACTIO STORE CUA S21021 47510021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 47520021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 47570021 LA WORK3,K8 GET COUNT S21021 47580021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 47630021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 47640021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 47690021 BC 4,LKUPEND END OF LOOKUP S21021 47700021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 47750021 ***** GET CUA AND COMPARE 47760021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 47810021 N WORK5,CON7FF CLEAR FLAGS S21021 47820021 ***** TEST FOR FAILING CHANNEL 47870021 STH WORK5,DSRCC STORE CUA TEMP S21021 47880021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 47930021 BNE FINDUCB NO-GO GET NEXT ONE S21021 47940021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 47990021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 48000021 BNE ACTST NO-BRANCH AROUND S21021 48050021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 48060021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 48110021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 48112021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 48114021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 48116021 ***** TEST FOR ACTIVE DEVICE 48118021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 48118421 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 48118821 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 48119221 LA WORK3,K1 SET COUNTER TO 1 S21021 48119621 B FINDUCB GET NEXT UCB ADDR S21021 48119721 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 48119821 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 48119921 B FINDUCB GET NEXT UCB ADDR S21021 48139921 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 48149921 OI SW1,HEX80 SET ILLEGAL CUA FLAG ON S21021 48159921 OI IORCD,HEX80 SET RECORD INCOMPLETE 48166621 B FAILCCW BRANCH S21021 48168621 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 48170621 SPACE 1 48173321 ***** TEST FOR ERP IN PROGRESS S21021 48180021 SPACE 1 48240020 TM UCBACT(WORK4),X'20' TEST 12* AVAILABLE 48300020 BZ FAILCCW NO - BRANCH S21021 48360021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 48420020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 48480020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 48540020 SR TCBREG,TCBREG CLEAR TCB REG 000D 48600020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 48660020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 48710021 L TCBREG,AD0(TCBREG,WORK5) TCB POINTER 000D 48720020 L WORK4,IOBPTR(WORK4) LOAD IOB POINTER FROM 12* 48780020 TM IOBFLAG1(WORK4),IOBERR ERP IN PROGRESS 23243 48840020 BC CC8,NOERP BRANCH--NO 23243 48900020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 48960021 NOERP EQU * 23243 49020020 SPACE 1 49200020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 49260020 SPACE 1 49320020 FAILCCW LA LINKREG,IJOBNM SET PCI RTN PTR S21021 49380021 L WORK1,HDWECSW LOAD COMM ADDR FROM CSW A 000E 49440020 LA WORK2,8 DECREMENT CONSTANT 49500020 SR WORK1,WORK2 DECREMENT COMMAND ADDRESS 49560020 FAILCCW1 LA WORK1,0(WORK1) CLEAR HIGH ORDER BYTE 49620020 CL WORK1,CVTMZ00 COMPARE FOR LEGAL ADDRESS 49680020 BC 11,IJOBNM BRANCH-ILLEGAL ADDRESS S21021 49740021 MVC INCCW(M8),AD0(WORK1) MOVE CCW TO RE AREA S21021 49790021 SPACE 1 49860020 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 49920021 SPACE 1 49980020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 50040021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 50090021 B SERLI BRANCH TO COMPLETE S21021 50100021 EJECT 50340020 *********************************************************************** 50400020 *** *** 50460020 * SETUP PRIOR TO USING SYSTEM FUNCTIONS * 50520020 *** *** 50580020 *********************************************************************** 50640020 SPACE 1 50700020 ***** SET TASKS NON DISPATCHABLE 50760020 SPACE 1 50820020 SYSTEMIO TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 50880020 BC 1,SYSIO1 YES - BYPASS 50940020 L WORK4,CVTHEAD HIGHEST PRIORITY TCB 51000020 B TCBNDAB SKIP MARKING HI TCB 000E 51060020 SYSIO EQU * 000D 51120020 TCBNDA OI NOTDISB(WORK4),NOTDGEN NOT DISP EXT FLD BEING USED000D 51180020 OI NOTDEXT(WORK4),NOTDSER SER TEMP NOT DISP 000D 51240020 TCBNDAB EQU * 000E 51300020 L WORK4,116(WORK4) NEXT TCB - LOWER PRIORITY 51360020 LTR WORK4,WORK4 LAST TCB 51420020 BC 7,SYSIO NO - CONTINUE 51480020 XC NOTDISP(2,TCBREG),NOTDISP(TCBREG) CLEAR ACTIVE TCB 51540020 SYSIO1 OI 29(TCBREG),1 SET PROHIBIT ASYNCH EXIT FLAG 51600020 SPACE 1 51660020 ***** SETUP FOR HARD PURGE (HIO) ON TCB 51720020 SPACE 1 51780020 MVI PURGPARM,X'62' INITIALIZE PURGE PARM LIST 51840020 LA R1,PURGPARM ADDR OF PURGE PARAMETER LIST 51900020 SVC 16 SUPERVISOR CALL TO PURGE 51960020 SPACE 1 52020020 ***** LOOP ON ECB WAITING FOR PURGE POSTING 52080020 SPACE 1 52140020 SSM ZERO DISABLE I/O AND EXT INTERRUPTS 52200020 CLI PURGPARM+4,X'7F' TEST PURGE ECB 52260020 BC 8,SERLA BR--PURGE COMPLETED SUCESSFULLY 52320020 BC 15,SERLI BR--PURGE NOT SUCESSFUL 52380020 EJECT 52440020 SPACE 1 52500020 ***** HALT I/O IN PREPARATION FOR STAND ALONE I/O 52560020 SPACE 1 52620020 SERLI OI IORCC,STANDIO SET STANDALONE I/O FLAG 52740020 OI SW1,SYSTERM IND SYSTEM TERMINATED S21021 52790021 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 52800020 SPACE 1 52860020 SPACE 2 52920020 ***** SETUP FOR READ OF HEADER RECORD 52980020 SPACE 1 53040020 SERLA TM IORCD,HEX40 WAS OBR/SDR IN PROGRESS C 000E 53100020 BO MDALLC YES PUT OUT RE LOST C 000E 53160020 L WORK2,CVTDCB ADDR OF SER DCB C 000E 53220020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 53280020 MVC CCWSKADR(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK AD 53340020 SERLH MVI CCWSKADR+6,1 SET SEARCH ID FIELD TO ONE 53400020 LA WORK3,HDRCCW HEADER CHANNEL PROG ADDRESS 53460020 ST WORK3,IOBSA STORE ADDRESS IN IOB 53520020 MVC IOBSKADR+1(7),CCWSKADR MOVE SEEK ADDRESS TO IOB 53580020 OI IORCD,HEX80 TURN ON READ IN PRGRESS C 000E 53640020 BAL LINKREG,FTCHA BRANCH TO READ HEADER RECORD 53700020 NI IORCD,HEX7F TURN OFFREAD IN PRGRESS C 000E 53760020 SPACE 1 53820020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 53880020 BC 7,IOFAIL BR--HEADER RECORD INCORRECT 53940020 SPACE 1 54000020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 54060020 SPACE 1 54120020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 54180020 XR WORK4,WORK4 CLEAR REGISTER 54240020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 54300020 SLL WORK4,1 DOUBLE 54360020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 54420020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 54480021 BE SER10 YES - BRANCH S21021 54530021 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 54600020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 54660020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 54720020 BC 1,SER13 BR--RE WILL FIT ON TRACK 54780020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 54840020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 54900020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 54960021 BE SER12 YES - BRANCH S21021 55010021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 55200020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 55260020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 55320020 BC 15,SER10 BRANCH FOR ANOTHER PASS 55380020 SER12 XR WORK3,WORK3 CLEAR REGISTER 55440020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 55500020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 55560020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 55620020 BC 15,SER11 BRANCH FOR ANOTHER PASS 55680020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 55740020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 55800020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 55860020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 55920020 BC CC1,ERREXIT2 SET UP FOR SEREP 000D 55980020 MVI PRTIMAGE+AD5,C'C' ERROR CODE 000D 56040020 MVC IMAGE1(M12),IMAGE3 APPENDAGE 000D 56100020 BC CC15,SESF BRANCH TO ABEND MESSAGE 000D 56160020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 56220020 OI IORCC,HDSWTCH SET HEAD SWITCH REQUIRED SWITCH 56280020 MVC IOBSKADR+1(7),LASTTTR PLACE SEEK ADDR FOLLOWING IOB 56340020 MVC CCWSKADR(7),IOBSKADR+1 MOVE SEARCH AUGUMENT TO BUFFER 56400020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 56460020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 56520020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 56580020 SER14 OI IORCC,HEADEROK SET HEADER RECORD OK SWITCH 56640020 SPACE 1 56700020 ***** SETUP FOR RECORD ENTRY WRITE 56760020 SPACE 1 56820020 WRITENT LA WORK5,WRTCCW ADDR OF RE WRITE CCW CHAIN 56880020 ST WORK5,IOBSA STORE ADDRESS IN IOB 56940020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 57000020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 57060021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 57120020 LA WORK5,112 RE LGH FOR CCW CNT FLD S21021 57180021 LA WORK3,104 RE LGH FOR DATA CNT FLD S21021 57230021 STH WORK5,WRTCCW1+6 SET COUNT IN CCW 57300020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 57360020 MDALLA BAL LINKREG,FTCHA BRANCH TO WRITE RECORD ENTRY 57420020 SPACE 1 57480020 ***** SETUP FOR END OF FILE (EOF) WRITE 57540020 SPACE 1 57600020 TM IORCC,HDSWTCH TEST IF HD SWITCHING REQ 57660020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 57720020 MVC CCWSKADR(7),LASTTTR MOVE SEARCH AUGUMENT TO BUFFER 57780020 BC 15,WRTEOF 57840020 SWITCH CLC CCWSKADR(CC7),RESTART IS THIS THE FIRST ENTRY 000E 57900020 BNE NOEOF NO EOF HAS BEEN WRITTEN 000E 57960020 MVC CCWSKADR+M2(K4),UPLIMIT MOVE SEARCH ARG TO BUFF 000E 58020020 MVI CCWSKADR+6,0 SET ID FIELD TO ZERO 58080020 MVC IOBSKADR+3(4),UPLIMIT MOVE SEEK ADDR TO IOB 58140020 WRTEOF MVC EOFRECRD(4),IOBSKADR+3 MOVE CCHH TO EOF RECORD 58200020 LA WORK5,EOFCCW ADDR OF EOF WRT CCW CHAIN 58260020 ST WORK5,IOBSA STORE ADDRESS IN IOB 58320020 BAL LINKREG,FTCHA BRANCH TO WRITE END OF FILE 58380020 SPACE 1 58440020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 58500020 ***** TEST FOR 90 PERCENT FULL 58560021 NOEOF TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 58610021 BO NOEWTST YES-BRANCH AROUND S21021 58612021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 58614021 BL NOEWTST BRANCH IF LOWER S21021 58616021 BH SETSW BRANCH IF GREATER S21021 58618021 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 58618421 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 58618821 BH NOEWTST BRANCH IF HIGHER S21021 58619221 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 58619621 OI IORCD,HEX16 SET EW SWITCH S21021 58619721 ***** OUTPUT MESSAGE TO OPERATOR IF STAND ALONE I/O 58619821 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 58619921 BZ NOEWTST NO-DO IT LATER S21021 58639921 ***** DO STAND ALONE I/O FOR MESSAGE 58649921 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 58659921 MSG90 BAL LINKREG,PRINT BRANCH TO PRINT S21021 58666621 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 58668621 NI IORCD,HEXEF CLEAR EW INDICATOR S21021 58670621 SPACE 1 58673321 NOEWTST LA R5,HDRCCW1 POINT TO CCW LIST S21021 58680021 ST R5,IOBSA STORE IN IOB 58740020 L WORK2,CVTDCB ADDRESS OF SER DCB 58800020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 58860020 MVC CCWSKADR(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK AD 58920020 MVI CCWSKADR+6,1 SET SEARCH ID FIELD TO ONE 58980020 MVC IOBSKADR+1(7),CCWSKADR PLACE SEEK ADDR FOLLOWING IOB 59040020 BAL LINKREG,FTCHA BRANCH TO WRITE HEADER RECORD 59100020 MDALLB OI IORCC,IOCMPLTE SET I/O COMPLETE FLAG 59160020 MVI PRTIMAGE+5,C'B' SET ERROR MESSAGE CODE 59220020 SPACE 1 59280020 ***** DETERMINE HOW TO TERMINATE SYSTEM 59340020 SPACE 1 59400020 MDALLB1 EQU * C 000E 59460020 TM IORCC,SECONDMC TEST IF SECOND MC OCCURED 59520020 BC 1,WAITTERM BRANCH--CANNOT ABEND SYSTEM 59580020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 59640020 BC 1,ERREXIT1 BRANCH--CANNOT ABEND SYSTEM 59700020 BC 15,SESF BRANCH TO ABEND SETUP ROUTINE 59760020 MDALLC MVC IMAGE1(M14),IMAGE4 SET UP ERROR MSG C 000E 59820020 MVI PRTIMAGE+AD5,CE SET ERROR CODE C 000E 59880020 B MDALLB1 CARRY ON WITH PROCESSING C 000E 59940020 EJECT 60000020 FTCHA OI IORCC,X'08' SET I/O OUTPUT IN PROG FLAG 60060020 ERROR3 NI IOBECB,X'0' CLEAR ECB COMPLETION CODE 60120020 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 60180021 BC 1,IORTN BRANCH--USE STAND ALONE I/O 60240020 LA R1,SERIOB ADDRESS OF IOB 60300020 SSM ENABLE ENABLE ALL CHANNELS 60360020 SPACE 2 60420020 SVC EXCP EXECUTE CHANNEL PROGRAM CALL 60480020 SPACE 2 60540020 ***** LOOP WAITING FOR ECB POSTING BY IOS 60600020 SPACE 1 60660020 TESTECB CLI IOBECB,X'00' CHECK COMPLETION CODE IN ECB 60720020 BC 8,TESTECB LOOP WAITING FOR ECB POSTING 60780020 CLI IOBECB,INTCEPT CHECK COMPLETION CODE IN ECB 60840020 BC 8,ERROR3 BR TO EXCP AGAIN 60900020 CLI IOBECB,NORMAL CHECK COMPLETION CODE IN ECB 60960020 BCR 8,LINKREG BR--I/O OPERATION COMPLETED OK 61020020 TM IORCD,HEX80 IS READ IN PROGRESS C 000E 61080020 BO IOFAIL YES SYSTEM TO LOAD WAIT C 000E 61140020 B MDALLC NO WRITE IGNORED C 000E 61200020 SPACE 1 61260020 ***** SETUP FOR ERROR EXITS 61320020 SPACE 1 61380020 ERREXIT1 MVI PRTIMAGE+5,C'5' SET ERROR MESSAGE CODE 61440020 LA R0,X'F05' WAIT PSW ERROR CODE 61500020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 61560020 LA LINKREG,EXIT RETURN POINT FOLLOWING PRINTING 61620020 BC 15,PRINT BRANCH TO PRINT ERROR MESSAGE 61680020 SPACE 1 61740020 ERREXIT2 MVI PRTIMAGE+5,C'9' SET ERROR MESSAGE CODE 61800020 LA LINKREG,SEREP1 RETURN POINT FOLLOWING PRINTING 61860020 LA R0,X'F09' WAIT PSW ERROR CODE 61920020 MVC IMAGE1(14),IMAGE2 MOVE MESSAGE TO PRINT IMAGE 61980020 BC 15,PRINT BRANCH TO PRINT ERROR MESSAGE 62040020 EJECT 62100020 *********************************************************************** 62160020 *** *** 62220020 ***** STAND ALONE ROUTINE TO PERFORM I/O OPERATIONS ***** 62280020 *** *** 62340020 *********************************************************************** 62400020 IORTN MVC IORCB+1(3),IOBSA+1 MOVE CCW START ADDRESS TO TIC 62460020 LA WORK2,10 SETUP TO COUNT RETRIES 62520020 SIORTN LA WORK1,IORCA STARTING CCW CHAIN ADDRESS 62580020 ST WORK1,72 STORE IN CHANNEL ADDRESS WORD 62640020 OI SW1,SYSTERM SET SYSTEM TERMINATED S21021 62700021 SIORTNB LA WORK1,HIO4 LOAD I/O INTERRUPT ADDR 21021 62760020 ST WORK1,AD124 STORE IN I/O NEW PSW 21021 62820020 SSM ENABLE ENABLE ALL CHANNELS 21021 62880020 SIORTNB1 TIO AD0(DADCUA) TEST I/O 21021 62940020 BC CC6,SIORTNB1 BR--CHAN BSY OR STATUS ST 21021 63000020 SSM ZERO DISABLE ALL CHANNELS 21021 63060020 SIO 0(DADCUA) START I/O 63120020 BC 8,SIORTND BR--I/O OPERATION INITIATED 63180020 SIORTNC BCT WORK2,SIORTN BRANCH--TRY OPERATION AGAIN 63240020 BC 15,SEREP3 BRANCH TO SETUP FOR SEREP 63300020 SIORTND TIO 0(DADCUA) TEST I/O 63360020 BC 2,SIORTND BR--CHANN OR SUBCHANN BUSY 63420020 TM 68,X'0D' CH END, DEV END, UNIT EXCEPTION 63480020 BC 14,SIOTEST BR--NOT END OF FILE 63540020 CLC IOBSKADR+3(4),SESCD COMPARE R0 AND SEEK ADDR 63600020 BC 8,SIORTNC BRANCH--NOT ALT. TRACK 63660020 BC 15,ALTRK BR--SETUP FOR ALTERNATE TRACK 63720020 SIOTEST TM 68,6 CHECK DE AND UNIT CHECK 63780020 BC 1,SENSE YES--SENSE AND CHECK FOR ALT TR 63840020 TM 68,X'0A' CHECK CE AND UNIT CHECK 63900020 BC 1,SENSE YES--SENSE AND CHECK FOR ALT TR 63960020 TM 68,X'04' TEST FOR DEVICE END 64020020 BC 14,SIORTND BR--NOT DEVICE END 64080020 TM 69,X'FF' CHECK FOR CHANNEL ERRORS 64140020 BC 7,SIORTNC BRANCH AND RETRY--CHANN ERRORS 64200020 BCR 15,LINKREG RETURN TO MAINLINE 64260020 SPACE 1 64320020 ***** SENSE DISK TO CHECK FOR ALTERNATE TRACK 64380020 SPACE 1 64440020 SENSE LR PARMREG1,LINKREG SAVE ORIGINAL LINKAGE REGISTER 64500020 LA WORK1,IORCF SENSE CCW ADDRESS 64560020 ST WORK1,72 STORE IN CHANNEL ADDRESS WORD 64620020 BAL LINKREG,SIORTNB BR TO PERFORM SENSE OPERATION 64680020 TM DSRCC,X'02' CHECK ALTERNATE TRACK BIT 64740020 LR LINKREG,PARMREG1 RESTORE LINKAGE REGISTER 64800020 BC 14,SIORTNC BRANCH TO COUNT RETRIES 64860020 SPACE 1 64920020 ***** SETUP FOR A SWITCH TO AN ALTERNATE TRACK 64980020 SPACE 1 65040020 ALTRK MVC IOBSKADR+3(5),SESCD SETUP ALT. TRACK SEEK ADDR 65100020 BC 15,SIORTN 65160020 EJECT 65220020 *********************************************************************** 65280020 *** *** 65340020 ***** HALT I/O AND DETERMINE ADDRESSES OF THE OUTPUT DEVICES ***** 65400020 *** *** 65460020 *********************************************************************** 65520020 HIO LA WORK1,HIO3 I/O INTERRUPT ADDRESS 65580020 ST WORK1,124 STORE IN I/O NEW PSW 65640020 MVC IMAGE1(M14),IMAGE1A RELOAD OS MESSAGE 000D 65700020 LA WORK6,2048 LOOP PREVENTION COUNTER 65760020 LR WORK1,WORK6 MAXIMUM CUA + ONE 65820020 SSM ENABLE ENABLE ALL CHANNELS 65880020 HIO2 HIO 0(WORK1) HIO ON MPX CHANN DEVICE 65940020 BCT WORK1,HIO2 BR TO HIO ON NEXT DEVICE 66000020 SPACE 1 66060020 ***** LOCATE DIRECT ACCESS DEVICE OUTPUT ADDRESS (CUA) 66120020 SPACE 1 66180020 LOADCUA L WORK1,CVTDCB LOAD ADDRESS OF SER DCB 66240020 L WORK1,DEBAD(WORK1) LOAD ADDRESS OF SER DEB 66300020 L WORK1,UCBPTR(WORK1) LOAD ADDR OF SYS RES UCB 66360020 LH DADCUA,UCBCUA(WORK1) LOAD CUA FROM UCB 66420020 SPACE 1 66480020 BC CC15,LOCCONS LOCATE CONSOLE CUA 000D 66540020 SPACE 1 66600020 HIO3 BCT WORK6,*+8 BR AROUND LOOP PROTECTION EXIT 66660020 BC 15,LOADCUA EXIT--LOOP PROTECTION EXIT 66720020 HIO4 LPSW AD56 RETURN TO INTERRUPT POINT 21021 66780020 EJECT 66840020 ***** CONSTANTS AND BUFFERS WHICH ARE NOT MODEL DEPENDENT 66900020 SPACE 2 66960020 DS 0D 67020020 SERCA DC XL5'0' SER1 MC AND PI NEW PSW 67080020 SERCAA DC AL3(MCI2-IEAMCH00) 000C 67140020 SERCB DC XL5'4000000' A 000E 67200020 SERCBA DC AL3(PCIERR-IEAMCH00) A 000E 67260020 MSCHKPSW DC XL5'4000000' MACHINE CHECK ENABLED PSW 67320020 PTYCHKAD DC AL3(PTYCHK2-IEAMCH00) 000C 67380020 SESCE DC XL8'0' PROGRAM INTERRUPT PSW SAVE AREA 67440020 SESCD DC XL5'0' ORIGINAL NEW MACHINE CHECK PSW 67500020 IEAMCADR DC AL3(IEAMCH-IEAMCH00) 000C 67560020 ZERO EQU SESCD 67620020 IOBECB DC XL4'0' 67680020 TD24HRS DC X'C5C10000' PSEUDO CLOCK CORR FCTRS 000E 67740020 TDADJ DC X'3A3F0000' PSEUDO CLOCK CORR FCTRS 000E 67800020 CCWSKADR DC XL8'0' SEEK BUFFER 67860020 ABNDCODE DC X'000F3000' ABEND COMPLETION CODE 67920020 CON7FF DC X'00000FFF' CUA MASK 000E 67980020 ENABLE DC X'FE' MASK TO ENABLE ALL CHANNELS 68040020 SPACE 2 68100020 IORCC DC X'0000' CONTROL FLAGS A 000E 68160020 * BIT 0 MCS CONSOLE CONTROL SWITCH 000D 68220020 * BIT 1---STAND ALONE I/O BEING UTILIZED 68280020 * BIT 2---I/O OPERATIONS FOR RECORD ENTRY ARE COMPLETE 68340020 * BIT 3---HEADER RECORD READ AND UPDATED SUCESSFULLY 68400020 * BIT 4---I/O OUTPUT HAS BEEN TRIED 68460020 * BIT 5 MCS ENVIRONMENT 000D 68520020 * BIT 6---HEAD SWITCHING REQUIRED TO WRITE END OF FILE 68580020 * BIT 7---SECOND MACHINE CHECK OR CHANN FAILURE HAS OCCURRED 68640020 * BIT 8 A PCI ERROR OCCURRE OR A HDR REC IS TO B- READ A 000E 68700020 * BIT 9 OBR/SDR IN PROGRESS C 000E 68760020 * BIT 10 --- PARITY ERROR ENCOUNTERED IN THE NUCLEUS 000E 68820020 * BIT 11 --- EARLY WARNING MESSAGE IN PROGRESS S21021 68870021 IORCD EQU IORCC+1 A 000E 68880020 EJECT 68940020 SPACE 2 69000020 DS 0D 69060020 SPACE 1 69120020 IORCA DC X'07' SEEK 000C 69180020 IOBADDRS DC AL3(IOBSKADR+1-IEAMCH00) 000C 69240020 DC XL4'40000006' 000C 69300020 SPACE 1 69360020 DC X'16' READ 000C 69420020 SESCDADD DC AL3(SESCD-IEAMCH00) 000C 69480020 DC XL4'60000008' R0 000C 69540020 SPACE 1 69600020 IORCB DC X'08' TRANSFER 000C 69660020 STARADDR DC AL3(*-IEAMCH00) IN 000C 69720020 DC XL4'40000001' CHANNEL 000C 69780020 SPACE 1 69840020 IORCF DC X'04' SENSE DAD 000C 69900020 DSRCCADD DC AL3(DSRCC-IEAMCH00) INTO WORK 000C 69960020 DC XL4'20000003' AREA 000C 70020020 SPACE 1 70080020 HDRCCW1 DC X'31' SEARCH ON 000C 70140020 SKADDRAD DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 70200020 DC XL4'40000005' EQUAL 000C 70260020 SPACE 1 70320020 DC X'08' TRANSFER 000C 70380020 HDRCCWAD DC AL3(HDRCCW1-IEAMCH00) IN 000C 70440020 DC XL4'40000001' CHANNEL 000C 70500020 SPACE 1 70560020 DC X'05' WRITE 000C 70620020 HDRRECAD DC AL3(HDRREC-IEAMCH00) HEADER 000C 70680020 DC XL4'00000028' RECORD S21021 70740021 SPACE 1 70800020 HDRCCW DC X'31' SEARCH ON 000C 70860020 SKADRAD1 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 70920020 DC XL4'40000005' EQUAL 000C 70980020 SPACE 1 71040020 DC X'08' TRANSFER 000C 71100020 HDRCCWA1 DC AL3(HDRCCW-IEAMCH00) IN 000C 71160020 DC XL4'40000001' CHANNEL 000C 71220020 SPACE 1 71280020 DC X'06' READ 000C 71340020 HDRRECA1 DC AL3(HDRREC-IEAMCH00) HEADER 000C 71400020 DC XL4'00000028' RECORD S21021 71460021 SPACE 1 71520020 WRTCCW DC X'31' SEARCH ON 000C 71580020 SKADRAD2 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 71640020 DC XL4'40000005' EQUAL 000C 71700020 SPACE 1 71760020 DC X'08' TRANSFER 000C 71820020 WRTCCWAD DC AL3(WRTCCW-IEAMCH00) IN 000C 71880020 DC XL4'40000001' CHANNEL 000C 71940020 SPACE 1 72000020 WRTCCW1 DC X'1D' WRITE 000C 72060020 CTFLDADD DC AL3(CTFLDID-IEAMCH00) RECORD 000C 72120020 DC A(340) ENTRY S21021 72180021 SPACE 1 72240020 EOFCCW DC X'31' SEARCH ON 000C 72300020 SKADRAD3 DC AL3(CCWSKADR+2-IEAMCH00) ID 000C 72360020 DC XL4'40000005' EQUAL 000C 72420020 SPACE 1 72480020 DC X'08' TRANSFER 000C 72540020 EOFCCWAD DC AL3(EOFCCW-IEAMCH00) IN 000C 72600020 DC XL4'40000001' CHANNEL 000C 72660020 SPACE 1 72720020 DC X'1D' WRITE 000C 72780020 EOFRECAD DC AL3(EOFRECRD-IEAMCH00) END OF 000C 72840020 DC XL4'00000008' FILE 000C 72900020 SPACE 1 72960020 EJECT 73020020 * 73080020 **** HEADER RECORD FROM SR 73140020 * 73200020 HDRREC DS 0F S21021 73260021 DC X'FF000000',9F'0' S21021 73310021 LOWLIMIT EQU HDRREC+2 LOW CCHH OF EXTENT S21021 73320021 UPLIMIT EQU HDRREC+6 HIGH CCHH OF EXTENT S21021 73370021 SPARE EQU HDRREC+10 HIGHEST TRK ADDR ON CYL S21021 73380021 RESTART EQU HDRREC+11 RE STARTING LOC S21021 73430021 BYTSREM EQU HDRREC+18 REMAINING BYTES ON TRACK S21021 73440021 TRKCAP EQU HDRREC+20 TRACK BYTE CAPACITY S21021 73490021 LASTTTR EQU HDRREC+22 LAST RE WRITTEN BBCCHHR S21021 73500021 TRKSPER EQU HDRREC+29 TRACKS PER CYLINDER S21021 73550021 EWMC EQU HDRREC+31 EARLY WARNING BYTE COUNT S21021 73560021 DEVCODE EQU HDRREC+33 DEVICE TYPE CODE S21021 73610021 EWMT EQU HDRREC+34 EARLY WARNING TRACK S21021 73620021 EWSW EQU HDRREC+38 EARLY WARNING SWITCH S21021 73670021 SFTYBYTS EQU HDRREC+39 SAFETY BYTE IN RECORD S21021 73680021 SPACE 2 73800020 * 73860020 ** IOB FOR SER1 FUNCTIONS 73920020 * 73980020 DS 0F 74040020 SERIOB DC XL4'42000000' 74100020 DC X'00' 000C 74160020 IOBECADR DC AL3(IOBECB-IEAMCH00) 74220020 DC XL8'0' 74280020 IOBSA DC XL4'0' 74340020 IOBDCBP DC A(0) V(IFBDCB) SER DCB POINTER 000C 74400020 IOBRA DC XL4'0' 74460020 IOBBC DC XL4'0' 74520020 IOBSKADR DC XL8'0' 74580020 SPACE 2 74640020 ***** INPUT PARAMETER LIST FOR PURGE 74700020 SPACE 1 74760020 PURGPARM DC X'62' PURGE BY TCB,HIO,POST 74820020 DC XL3'0' DEB ADDR--NOT REQUIRED 74880020 DC XL4'0' TCB ADDRESS AND ECB 74940020 DC XL4'0' CHAIN ADDR--NOT REQUIRED 000D 75000020 EJECT 75060020 CHCONFIG DC A(0) V(IFBACTA) ADDR OF SYS CHANN CONFIG 000C 75120020 INTCVTPT DC A(0) V(IEACVT) ADDR OF COMM VECTOR TABLE 000C 75180020 CHKTCB1 DC XL4'00' A 000E 75240020 PCICOUNT DC XL2'0010' 000E 75360020 EJECT 75420020 ***** CONSTANTS AND BUFFERS WHICH ARE MODEL DEPENDENT 75480020 SPACE 2 75540020 * DAD SUBTRACTION CONSTANT TABLE 75600020 CONRE DC AL2(418) * 2311 CPU RE SUB CONST S21021 75660021 DC AL2(473) * 2301 CPU RE SUB CONST S21021 75710021 DC AL2(448) * 2303 CPU RE SUB CONST S21021 75720021 DC AL2(418) * 2302 CPU RE SUB CONST S21021 75770021 DC AL2(441) * 2321 CPU RE SUB CONST S21021 75780021 DC XL2'0' * DUMMY 000C 75960020 DC XL2'0' * DUMMY 000C 76020020 DC AL2(456) * 2314 CPU RE SUB CONST S21021 76080021 SPACE 1 76140020 CONIO DC AL2(179) * 2311 INB RE SUB CONST S21021 76200021 DC AL2(245) * 2301 INB RE SUB CONST S21021 76250021 DC AL2(220) * 2303 INB RE SUB CONST S21021 76260021 DC AL2(179) * 2302 INB RE SUB CONST S21021 76310021 DC AL2(202) * 2321 INB RE SUB CONST S21021 76320021 DC XL2'0' * DUMMY 000C 76500020 DC XL2'0' * DUMMY 000C 76560020 DC AL2(218) * 2314 INB RE SUB CONST S21021 76620021 SPACE 1 76680020 DS 0D 76740020 DSRCA DC XL5'4000000' MACHINE CHECK ENABLED PSW 76800020 SERBADDR DC AL3(SERB-IEAMCH00) 000C 76860020 EJECT 76920020 DS 0D 76980020 EOFRECRD DC XL4'0' EOF RECORD BUILD AREA 77040020 DC X'FF000000' ID OF EOF RECORD 77100020 DSRCC DC XL8'0' WORK AREA FOR VARIOUS TESTS 77160020 SPACE 2 77220020 * 77280020 ***** R E C O R D E N T R Y B U I L D A R E A 77340020 * 77400020 DS 0F S21021 77460021 CTFLDID DC XL5'0' COUNT FIELD 77520020 CTFLDKEY DC X'00' KEY LENGTH S21021 77580021 CTFLDDL DC AL2(332) DATA LENGTH FOR MC RE S21021 77630021 CLASSRC DC X'18' MACHINE CHECK/SER1 S21021 77640021 SYSREL DC X'00' RELEASE NUMBER S21021 77690021 SWS DC XL6'0' SWITCHES S21021 77700021 SW0 EQU SWS S21021 77750021 SW1 EQU SWS+1 S21021 77760021 * SWITCH SETTINGS ON CPU RECORD S21021 77810021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 77820021 * BIT 1 - NS CLOCK S21021 77870021 * BIT 2 - EC MODE S21021 77880021 * BIT 3 - SPARE S21021 77930021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 77940021 * BIT 5 - SPARE S21021 77990021 * BIT 6 - SPARE S21021 78000021 * BIT 7 - SPARE S21021 78050021 * BIT 8 - SHORT RECORD S21021 78060021 * BIT 9 - RECORD INCOMPLETE S21021 78110021 * BIT 10 - SYSTEM TERMINATED S21021 78120021 * BIT 11 - FIRST RECORD OF TWO REC RECORDING S21021 78170021 * BIT 12 - CHANNEL RECORD INCLUDED S21021 78180021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 78230021 * BIT 14 - EXTERNAL MACHINE CHECK S21021 78240021 * BIT 15 - SPARE S21021 78290021 REDATE DC XL4'0' DATE S21021 78300021 RETIME DC XL4'0' TIME S21021 78350021 SP1 DC X'0' NOT USED S21021 78360021 RECPUSER DC XL3'0' CPU SERIAL NO. S21021 78410021 RECPUID DC X'0065' CPU ID - MOD 65 S21021 78420021 SP2 DC X'0000' SPARE S21021 78470021 PROGID DC XL8'0' PROGRAM IDENTITY S21021 78480021 JOBNAME DC XL8'0' JOBNAME S21021 78530021 MCIOPSW DC XL8'0' MACHINE CHECK OPSW S21021 78540021 GPREGS DC 16XL4'0' GENERAL PURPOSE REGS S21021 78590021 FPREGS DC 4XL8'0' FLOATING POINT REGS S21021 78600021 GPRPAR DC X'00070000' GP REG PARITY INDICATOR S21021 78650021 DC XL4'0' S21021 78660021 FPRPAR DC XL4'0' FP REG PARITY-FOLD AREA S21021 78710021 CPULOG DC 176X'00' CPU HARDWARE LOG AREA S21021 78720021 SPACE 2 78770021 * OFFSETS USED FOR FORMATTING AN INBOARD (CHANNEL) RECORD 78780021 SPACE 2 78830021 * SWITCH SETTINGS FOR CHANNEL RECORD 78840021 * BIT 0 - OPERATOR ACTION MESSAGE S21021 78890021 * BIT 1 - NS CLOCK S21021 78900021 * BIT 2 - EC MODE S21021 78950021 * BIT 3 - SPARE S21021 78960021 * BIT 4 - TIME CONVERTED (HHMMSS) S21021 79010021 * BIT 5 - SPARE S21021 79020021 * BIT 6 - SPARE S21021 79070021 * BIT 7 - SPARE S21021 79080021 * BIT 8 - MESSAGE REQUIRED S21021 79130021 * BIT 9 - RECORD INCOMPLETE S21021 79140021 * BIT 10 - SYSTEM TERMINATED S21021 79190021 * BIT 11 - CHANNEL UNSUPPORTED OR FAILED TO LOG S21021 79200021 * BIT 12 - ILLEGAL CUA S21021 79250021 * BIT 13 - PORTION OF DATA OVERLAYED S21021 79260021 * BIT 14 - ERP IN PROGRESS S21021 79310021 * BIT 15 - SPARE S21021 79320021 IJOBNAME EQU PROGID JOBNAME S21021 79370021 INACTIO EQU PROGID+8 ACTIVE I/O UNITS S21021 79380021 INCCW EQU PROGID+24 FAILING CCW S21021 79430021 INCSW EQU PROGID+32 CHANNEL STATUS WORD S21021 79440021 INECSW EQU PROGID+40 EXTENDED CSW-NOT USED S21021 79490021 INDEVTP EQU PROGID+44 DEVICE TYPE - UCB S21021 79500021 INCHANID EQU PROGID+48 CHANNEL TYPE S21021 79550021 INCUA EQU PROGID+50 CHANNEL/UNIT ADDRESS S21021 79560021 INMP EQU PROGID+52 MP INFO S21021 79610021 INLOG EQU PROGID+56 CHAN HARDWARE LOG AREA S21021 79620021 EJECT 000D 80760020 *** MESSAGE CCW'S 000D 80820020 SPACE 1 000D 80880020 * 1052 CONSOLE 000D 80940020 * PRINTERS/PUNCHES 000D 81000020 TYPEWRIT CCW 11,0,X'60',1 SOUND ALARM 000D 81060020 DC X'09' TERMINATION 000D 81120020 MSGBFRAD DC AL3(PRTIMAGE-IEAMCH00) MESSAGE 000E 81180020 DC XL4'0000002C' S21021 81240021 COUNT EQU MSGBFRAD+5 000E 81300020 SPACE 2 000D 81360020 *** CONSTANTS / STORAGE 000D 81420020 FOUR DC A(4) A55855 81440021 ***** DO NOT SEPARATE NEXT TWO CONSTANTS A55855 81460021 MSCCWADR DC XL4'0' 4BYTES MC CCW LIST 000D 81480020 MSTMCS DC XL2'0' MCS UNIT ADDRESS MSTR CONS000D 81540020 SPACE 2 000D 81600020 SPACE 2 000D 81660020 ***** ERROR TERMINATION PRINT IMAGE 000D 81720020 SPACE 2 000D 81780020 DS 0F 000D 81840020 WTOIMAGE DC AL2(IMAGE-*) 000D 81900020 DC B'1000000000000000' MCS FLAGS FIELD 000D 81960020 PRTIMAGE DC C'IFBF0XI' S21021 82020021 ERRTYPE DC CL14' ' S21021 82070021 IMAGE1 EQU * 000D 82080020 DC CL14' ' BUFFER 000D 82140020 TIMAGE DC CL10' ' S21021 82190021 IMAGE EQU * 000D 82200020 DC B'0001000000000000' DESCRIPTOR CODES 000D 82260020 DC B'1000000000000000' ROUTING CODE 000D 82320020 IMAGE1A DC C' RELOAD OS/360' 000D 82380020 IMAGE2 DC C' EXECUTE SEREP' 000D 82440020 IMAGE3 DC C' LOGREC FULL' 000D 82500020 IMAGE4 DC CL14' RECORD LOST' C 000E 82560020 IMAGE5 DC C' CHAN ERROR.' S21021 82610021 IMAGE6 DC C' CPU ERROR.' S21021 82612021 ***** 90 PER CENT FULL MESSAGE 82614021 WTO90 DC C'IFB060E SYS1.LOGREC NEAR FULL' 82616021 TD10E5 DC F'200000' S21021 82618021 TDCNVR DC X'0249F000' S21021 82618421 TDIV DC F'10' S21021 82618821 TD12 DC F'12' S21021 82619221 TD24 DC F'24' S21021 82619621 TABLE DC C'0123456789ABCDEF' S21021 82619721 SPACE 2 000D 82620020 ***** ERROR MESSAGE CODE BYTE SIX 000D 82680020 * EQUAL 5 - NORMAL TERMINATION-CHANN FAILURE OR SUP. DAMAGE 000D 82740020 * EQUAL 6 - RECORDING FINISHED-TERM SYS-RECURRING MACHINE CH000D 82800020 * EQUAL 9 - NO RECORDING-DS FULL OR INCORRECT-EXECUTE SEREP 000D 82860020 * EQUAL B - RECORDING FINISHED-CURRENT STEP TO BE TERMINATED000D 82920020 * EQUAL C - NO RECORDING-RE AREA IS FULL-TERMINATE STEP 000D 82980020 * EQUAL D - SER1 FAILED-NO RECORDING-EXECUTE SEREP 000D 83040020 EJECT 000D 83100020 ***** LOCATE ADDRESS OF CONSOLE DEVICE 000D 83160020 SPACE 1 000D 83220020 DS 0H 000D 83280020 LOCCONS EQU * 000D 83340020 L WORK1,CVTCUCB ADDRESS OF CONS.UCM 000D 83400020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 83460020 BC CC1,CONCUA BRANCH--BYPASS 000D 83520020 CLI STARTMCS,KFF MCS CODE AVAILABLE 000D 83580020 BC CC7,NXTENTRY-AD4 BRANCH--NO 000D 83640020 TM UCMMODE(WORK1),MCSMODE MCS SUPPORTED 000D 83700020 BC CC1,MCSROUT BRANCH--YES 000D 83760020 LM WORK2,WORK4,UCMVEA(WORK1) ENTRY POINT AND SIZE 000D 83820020 NXTENTRY TM UCMATR(WORK2),UCMOF+UCMUF COMPARE WTO SUPPORT + DEV 000D 83880020 BC CC1,GETCUAA BRANCH ON EQUAL TO GET CUA 000D 83940020 BXLE WORK2,WORK3,NXTENTRY BRANCH TO TEST NEXT TABLE 000D 84000020 BC CC15,CUAEXIT NO ACTIVE WTO DEVICES 000D 84060020 GETCUAA EQU * 000D 84120020 BAL WORK5,GETCUA GET CUA 000D 84180020 BC CC15,CONCUA1 BRANCH 000D 84240020 SPACE 1 000D 84300020 CONCUA TM AD4(WORK1),PRIMCON IS IT THE PRIMARY CONSOLE 000D 84360020 L WORK2,AD4(WORK1) PRIMARY CONSOLE UCB 000D 84420020 BC CC1,GETCUA1 BRANCH--YES 000D 84480020 L WORK2,AD12(WORK1) ALTERNATE CONSOLE UCB 000D 84540020 GETCUA1 EQU * 000D 84600020 BAL WORK5,GETCUA+AD4 GET CUA 000D 84660020 CONCUA1 EQU * 000D 84720020 ST WORK1,MSCCWADR SAVE CCW ADR 000D 84780020 STH MSGCUA,MSTMCS SAVE CUA 000D 84840020 CUAEXIT N DADCUA,CON7FF REMOVE UNUSED BITS 000D 84900020 SSM ZERO 000D 84960020 BCR CC15,LINKREG RETURN TO MAINLINE 000D 85020020 EJECT 000D 85080020 *** GET CUA OF CONSOLE FROM UCB 000D 85140020 SPACE 1 000D 85200020 GETCUA L WORK2,UCMUCB(WORK2) LOAD ADDRESS OF CONSOLE UCB000D 85260020 LA WORK1,TYPEWRIT CONSOLE PRINTER 000D 85320020 LH MSGCUA,UCBCUA(WORK2) CUA OF CONSOLE OUTPUT DEVIC000D 85380020 N MSGCUA,CON7FF REMOVE UNUSED BITS 000D 85440020 BCR CC15,WORK5 RETURN TO MAIN ROUTINE 000D 85500020 EJECT 000D 85560020 ***** SOUND CONSOLE ALARM AND ATTEMPT MESSAGE OUTPUT 000D 85620020 ***** PRINT 90 PER CENT FULL MESSAGE 85670021 SPACE 1 000D 85680020 PRINT L WORK1,MSCCWADR CCW ADDRESS 000D 85740020 LA WORK1,AD0(WORK1) CLEAR HI-ORDER BYTE A40043 85790021 ST WORK1,AD72 STORE IN CAW 000D 85800020 TM IORCD,HEX16 TEST FOR NEAR FULL MSG S21021 85850021 BO PRINT1 YES-BRANCH AROUND S21021 85852021 MVI PRTIMAGE+AD6,C'W' SET ACTION CODE IN IMAGE 000D 85860020 CLI IMAGE1+AD1,C'R' COMPARE FOR EX. SEREP MSG 000D 85920020 BC CC8,*+AD8 BR--NOT SEREP MSG 000D 85980020 MVI PRTIMAGE+AD6,C'S' SET ACTION CODE IN IMAGE 000D 86040020 PRINT1 LH MSGCUA,MSTMCS GET CONSOLE CUA S21021 86100021 SIO AD0(MSGCUA) START I/O 000D 86160020 LA WORK1,HEXA0 COUNT S21021 86220021 SLL WORK1,K12 POSITION S21021 86270021 TIOLOP TIO AD0(MSGCUA) TEST I/O S21021 86272021 BC CC8,TIOLOPA OK-BRANCH S21021 86274021 BCT WORK1,TIOLOP DECREMENT COUNT S21021 86276021 TIOLOPA TM IORCC,SWITCH2 TEST FOR MCS S21021 86278021 BC CC1,PRTHC BRANCH--PRINT HARDCOPY 000D 86280020 BCR CC15,LINKREG RETURN 000D 86340020 EJECT 000D 86400020 *** MCS CONSTANTS / STORAGE 000D 86460020 DC X'0000' 000D 86520020 STARTMCS DC X'FF' 000D 86580020 DS 0D 000D 86640020 * 2740 CONSOLE 000D 86700020 CCW2740 DC X'01' 2740 CCW 000D 86760020 MSGBUFAD DC AL3(PRTIMAGE-IEAMCH00) DATA ADDRESS 000E 86820020 DC XL4'2C' S21021 86880021 SPACE 1 000D 86940020 DC X'01' USED IF HARDCOPY DEVICE 000D 87000020 DUPLIC DC AL3(PRTIMAGE-IEAMCH00) DATA ADDRESS 000E 87060020 DC XL4'2C' S21021 87120021 SPACE 1 000D 87180020 HCCCWADR DC XL4'0' 4BYTES HC CCW LIST 000D 87300020 HCTMCS DC XL2'0' HARD COPY UNIT ADR SAVE 000D 87360020 * 000D 87420020 *** PRINT HARDCOPY ROUTINE 000D 87480020 * 000D 87540020 PRTHC L WORK1,HCCCWADR HARD COPY CCW 000D 87600020 LTR WORK1,WORK1 IS IT ZERO 000D 87660020 BCR CC8,LINKREG RETURN 000D 87720020 ST WORK1,AD72 STORE IN CAW 000D 87780020 LH MSGCUA,HCTMCS GET DEVICE ADDRESS S21021 87830021 SIO AD0(MSGCUA) START DEVICE S21021 87832021 LA WORK1,HEXA0 COUNT S21021 87840021 SLL WORK1,K12 POSITION S21021 87890021 PRTHC1 TIO AD0(MSGCUA) TEST I/O 000D 87960020 BC CC8,FREE BRANCH--FREE 000D 88020020 BCT WORK1,PRTHC1 TRY AGAIN 000D 88080020 FREE BR LINKREG RETURN S21021 88140021 EJECT 000D 88320020 *** MULTIPLE CONSOLE SUPPORT CUA SEARCH ROUTINE 000D 88380020 SPACE 1 000D 88440020 MCSROUT OI IORCC,SWITCH2 MCS IN SYSTEM 000D 88500020 S WORK1,FOUR GET ADDRESS UCM BASE 000D 88560020 L WORK1,MCSMCENT(WORK1) LOAD ADD INTO REG 000D 88620020 LTR WORK1,WORK1 ADDRESS NOT ZERO 000D 88680020 BC CC8,CUAEXIT YES, INVALID 000D 88740020 UCMENTRY L WORK2,MCSMCENT(WORK1) GET MSTR CONS UCM ENTRY 000D 88800020 LA WORK6,MSCCWADR MASTER OR ALT CONSOLE CCW ADR SA000D 88860020 BAL RF,CHKAVAIL CONSOLE AVAILABLE 000D 88920020 TM IORCC,SWITCH1 IS CONSOLE SWITCH OFF 000D 88980020 BC CC8,HARDCOPY BRANCH--BYPASS ALTERNATE 000D 89040020 L WORK2,UCMALTEN(WORK2) ALTERNATE CONSOLE UCM 000D 89100020 BAL RF,CHKAVAIL CONSOLE AVAILABLE 000D 89160020 SPACE 2 000D 89220020 HARDCOPY TM UCMFLGS(WORK1),UCMHRDT+MCSHCSL HARDCOPY AND SYSLOG 000D 89280020 BC CC9,CUAEXIT BRANCH--NO SUPPORT 000D 89340020 L WORK2,UCMHCUCM(WORK1) PICK UP HARD COPY UCM ENTRY000D 89400020 LTR WORK2,WORK2 SYSLOG ONLY A31693 89460020 BZ CUAEXIT BRANCH--NO SUPPORT A31693 89520020 NI IORCC,SWIT1OFF CLEAR CONSOLE SWITCH 000D 89580020 LA WORK6,HCCCWADR HARDCOPY CCW ADR SAVE 000D 89640020 BAL RF,CHKAVAI CONSOLE AVAILABLE 000D 89700020 TM IORCC,SWITCH1 CONSOLE AVAILABLE 000D 89760020 BC CC1,CUAEXIT BRANCH--NO 000D 89820020 CLI UCBDVTYP(WORK2),DPLYTYPE HARDCOPY A DISPLAY 000D 89880020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 89940020 CLC HCTMCS(M2),MSTMCS HARD COPY SAME AS MASTER 000D 90000020 BC CC8,HARDCOP BRANCH--BYPASS MSG 000D 90060020 L WORK1,HCCCWADR CCW ADDRESS 000D 90120020 LA WORK1,AD8(WORK1) BYPASS RING BELL 000D 90180020 ST WORK1,HCCCWADR STORE IT AGAIN 000D 90240020 BC CC15,CUAEXIT EXIT 000D 90300020 HARDCOP XC HCCCWADR(M6),HCCCWADR CLEAR ADDRESS FIELD 000D 90360020 BC CC15,CUAEXIT EXIT 000D 90420020 SPACE 1 000D 90480020 CHKAVAIL LTR WORK2,WORK2 TEST FOR ZERO 000D 90540020 BC CC8,HARDCOPY CHECK FOR HARDCOPY 000D 90600020 CHKAVAI LR WORK3,WORK1 SAVE WORK1 (MCS PREFIX) 000D 90660020 LA WORK4,K2 POSSIBLE COMPOSITE CONSOLE 000D 90720020 CHKAV TM UCMATR(WORK2),WTOSUP WRITE TO OPERATOR SUPPORT 000D 90780020 BC CC8,CHKAVA BRANCH--NO CHECK OTHER HALF000D 90840020 TM UCMSTS(WORK2),UCMOPEND OPEN PENDING 000D 90900020 BC CC1,UCBADD BRANCH--YES 000D 90960020 TM UCMATR(WORK2),UCMACT TEST FOR DEVICE ACTIVE 000D 91020020 BC CC1,UCBADD BRANCH--YES 000D 91080020 BC CC15,CHKA BRANCH 000D 91140020 CHKAVA L WORK2,UCMCOMPC(WORK2) OTHER HALF-COMPOSITE 000D 91200020 BCT WORK4,CHKAV BC--CHECK OTHER HALF 91260020 CHKA EQU * 000D 91320020 OI IORCC,SWITCH1 TURN SWITCH ON 000D 91380020 BCR CC15,RF RETURN 000D 91440020 UCBADD LR WORK4,WORK2 SAVE UCM POINTER 000E 91500020 BAL WORK5,GETCUA GET CONSOLE CUA 000E 91560020 STH MSGCUA,AD4(WORK6) STORE CONSOLE CUA 000D 91620020 CLI UCBDVTYP(WORK2),DPLYTYPE DISPLAY DEVICE 000E 91680020 BNE UCBADD1 BRANCH --NO 000E 91740020 L WORK4,K28(WORK4) POINTER TO DCM 000E 91800020 SR PARMREG1,PARMREG1 CLEAR 000E 91860020 IC PARMREG1,K20(WORK4) OFFSET TO WRITE CCW 000E 91920020 L WORK1,K20(WORK4) CCW CHAIN POINTER 000E 91980020 BCTR PARMREG1,R0 POINT TO RIGHT CCW NO 000E 92040020 SLL PARMREG1,K3 SHIFT MULTIPLY BY 8 000E 92100020 AR PARMREG1,WORK1 CCW ADDRESS 000E 92160020 MVC K1(K3,PARMREG1),MSGBFRAD MESSAGE ADDRESS 000E 92220020 MVC K6(K2,PARMREG1),COUNT MESSAGE LENGTH 000E 92280020 B SAVECCW CONTINUE 000E 92340020 UCBADD1 EQU * 000E 92400020 CLI UCBDVTYP(WORK2),COMMDEV IS CONSOLE A 2740 000D 92460020 BC CC7,SAVECCW BRANCH--NO 000D 92520020 LA WORK1,CCW2740 ADDRESS OF 2740 CCW 000D 92580020 SAVECCW ST WORK1,AD0(WORK6) STORE CONSOLE CCW ADR 000D 92640020 LR WORK1,WORK3 RESTORE WORK1 POINTWER 000D 92700020 BCR CC15,RF RETURN 000D 92760020 EJECT 000D 92820020 *********************************************************************** 92880020 * *000C 92940020 * APPENDAGE ROUTINE *000C 93000020 * THIS ROUTINE GETS CONTROL FROM NIP AND MOVES THE NECESSARY *000C 93060020 * EXTERNAL SYMBOLS DEFINED IN THE LOGOUT AREA INTO THE SER1 CODE *000C 93120020 * *000C 93180020 * IT ALSO RELOCATES ALL ADDRESS CONSTANTS TO A TRUE VALUE *000C 93240020 * RELATIVE TO THE ADDRESS CONTAINED IN REGISTER 0. NIP PASSES IN *000C 93300020 * REG 0 THE ADDRESS OF WHERE SER IS TO RESIDE. THIS ROUTINE THEN *000C 93360020 * MOVES THE SER PROGRAM TO THAT ADDRESS. REGISTER 0 IS THEN SET *000C 93420020 * TO CONTAIN THE ADDRESS OF THE FIRST BYTE AFTER THE SER MODULE *000C 93480020 *******************************************************************000C 93540020 SPACE 2 000C 93600020 DS 0H 000C 93660020 USING *,RF 000C 93720020 IFBINIT LA 1,ADDLIST LOAD ADDRESS OF LIST 000C 93780020 XR R2,R2 CLEAR 000D 93840020 LH R3,ADDLIS DIVIDEND 000D 93900020 LA R4,K4 DIVISOR 000D 93960020 DR R2,R4 DIVIDE TABLE LENGTH 000D 94020020 LR R4,R3 PUT COUNT IN REG 4 000D 94080020 ADDREL L 2,0(1) LOAD ADDRESS 000C 94140020 MVC ADDBUF+1(3),0(2) MOVE ADDRESS TO BUFFER 000C 94200020 L 3,ADDBUF LOAD ADDRESS 000C 94260020 AR 3,0 RELOCATE 000C 94320020 ST 3,ADDBUF STORE IN BUFFER 000C 94380020 MVC 0(3,2),ADDBUF+1 MOVE TO ADDRESS 000C 94440020 LA 1,4(1) GO TO NEXT ADDRESS 000C 94500020 BCT 4,ADDREL BRANCH UNTIL FINISHED 000C 94560020 L R1,CHADDRES LOAD ADDRESS OF EXTERNS 000C 94620020 MVC 0(4,R1),X'80' MOVE IN ADDR OF CHAN CONFIG000C 94680020 L CVTREG,X'10' LOAD ADDRESS OF CVT 000C 94740020 ST CVTREG,4(R1) STORE IN PROGRAM 000C 94800020 L R1,IOBADD LOAD ADDRESS OF SER IOB 000C 94860020 L 3,CVTDCB LOAD ADDRESS OF DCB SER 000C 94920020 SLL 3,8 SHIFT OUT 000C 94980020 SRL 3,8 SYSTEM ID 000C 95040020 ST 3,0(R1) STORE IN SER PROGRAM 000C 95100020 L 3,STARTPRG CURRENT START OF PROGRAM 000C 95160020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 000D 95220020 BC CC1,INCOM BRANCH-- YES 000D 95280020 L R1,BYTENUMB NUMBER OF BYTES WITH MCS 000D 95340020 L R4,LASTBYTE LAST ADR WITH MCS A36397 95390021 L RC,CVTCUCB UCM ADDRESS 000D 95400020 TM UCMMODE(RC),MCSMODE MCS IN SYSTEM 000D 95460020 BC CC1,INCOM0 BRANCH--YES 000D 95520020 INCOM L R1,BYTENUM NUMBER OF BYTES WITHOUT MCS000D 95580020 L R4,LASTBYT LAST ADR WITHOUT MCS A36397 95630021 INCOM0 EQU * 000D 95640020 LR RC,R0 INTENDED START OF PROGRAM 000D 95700020 LA 2,256 MOVE IN BLOCKS OF 256 BYTES000C 95760020 INCOMPAR CR 1,2 BYTES LESS OR EQ TO 256 000C 95820020 BC 12,MOVEEND YES, BRANCH 000C 95880020 MVC 0(256,12),0(3) MOVE 256 BYTES 000C 95940020 LA 3,256(3) UPDATE CURRENT POINTER 000C 96000020 LA 12,256(12) UPDATE DESTINATION POINTER 000C 96060020 SR 1,2 SUBTRACT 256 BYTES 000C 96120020 BC 12,ENDPROG LESS OR EQ TO ZERO, BRANCH 000C 96180020 BC 15,INCOMPAR BRANCH TO KEEP MOVING 000C 96240020 SPACE 1 96300020 MOVEEND BCTR 1,0 SUBTRACT ONE FROM BYTES 000C 96360020 STC 1,*+5 STORE IN INSTRUCTION 000C 96420020 MVC 0(1,12),0(3) MOVE RESIDUE 000C 96480020 ENDPROG LR R0,R4 ADDRESS OF LAST BYTE A36397 96540021 BCR 15,14 BRANCH BACK 000C 96600020 SPACE 1 000C 96660020 * CONSTANTS FOR APPENDAGE ROUTINE ONLY 000C 96720020 STARTPRG DC A(IEAMCH00) 000C 96780020 BYTENUMB DC AL4(IFBINIT-IEAMCH00) 000C 96840020 BYTENUM DC AL4(STARTMCS-IEAMCH00) 000D 96900020 CHADDRES DC A(CHCONFIG) 000C 96960020 IOBADD DC A(IOBDCBP) 000C 97020020 LASTBYTE DC X'00' 000C 97080020 IEAMCHAD DC AL3(IFBINIT-IEAMCH00) 000C 97140020 LASTBYT DC X'00' A36397 97190021 IEAMCHA DC AL3(STARTMCS-IEAMCH00) A36397 97192021 ADDLIS DC Y(ADDBUF-ADDLIST) 000D 97200020 DS 0F 000D 97260020 SPACE 1 97320020 ADDLIST DC AL4(SERCAA) 000C 97380020 DC AL4(SERCBA) 000E 97440020 DC AL4(PTYCHKAD) 000C 97500020 DC AL4(IEAMCADR) 000C 97560020 DC AL4(MSGBFRAD) 000D 97620020 DC AL4(IOBADDRS) 000C 97680020 DC AL4(SESCDADD) 000C 97740020 DC AL4(STARADDR) 000C 97800020 DC AL4(DSRCCADD) 000C 97860020 DC AL4(SKADDRAD) 000C 97920020 DC AL4(HDRCCWAD) 000C 97980020 DC AL4(HDRRECAD) 000C 98040020 DC AL4(SKADRAD1) 000C 98100020 DC AL4(HDRCCWA1) 000C 98160020 DC AL4(HDRRECA1) 000C 98220020 DC AL4(SKADRAD2) 000C 98280020 DC AL4(WRTCCWAD) 000C 98340020 DC AL4(CTFLDADD) 000C 98400020 DC AL4(SKADRAD3) 000C 98460020 DC AL4(EOFCCWAD) 000C 98520020 DC AL4(EOFRECAD) 000C 98580020 DC AL4(IOBECADR) 000C 98640020 DC AL4(SERBADDR) 000C 98700020 DC AL4(IEAMCHAD) 000C 98760020 DC AL4(IEAMCHA) A36397 98810021 DC AL4(GPTST2AD) 000C 98820020 DC AL4(GPTST1AD) 000C 98880020 DC AL4(NXTREGAD) 000C 98940020 DC AL4(PARCHK2) 000C 99000020 DC AL4(PARCHK3) 000C 99060020 DC AL4(PARCHK4) 000C 99120020 DC AL4(PARCHK5) 000C 99180020 DC AL4(RESUMEAD) 000C 99240020 ADDBUF DC F'0' 000C 99300020 DC AL4(MSGBUFAD) 000D 99360020 DC AL4(DUPLIC) 000D 99420020 END IFBINIT 000C 99480020 ./ ADD SSI=02013268,NAME=IFBSR175,SOURCE=0 TITLE 'IFBSR175,SER1/SYS ENVIRONMENT RECORD - MIN/INT(MOD 75)' 00060020 *STATUS: CHANGE LEVEL 0 * 00120020 *FUNCTION/OPERATION: SYSTEM ENVIRONMENT RECORDING (CORE RESIDENT). * 00180020 * THIS MODULE IS DESIGNED TO SAVE THE MACHINE ENVIRONMENT ON A * 00240020 * MACHINE CHECK OR AN I/O INBOARD ERROR. ON A MACHINE CHECK, THE * 00300020 * HARDWARE LOGOUT AND PERTINANT INFORMATION-SUCH AS GP AND FP REGS, * 00360020 * PROGRAM ID, ACTIVE I/O UNITS, ETC.- WILL BE GATHERED INTO A * 00420020 * MACHINE CHECK RECORD ENTRY AND WRITTEN ONTO THE LOGREC DATA SET. * 00480020 * ON AN I/O INBOARD ERROR, THE CHANNEL LOGOUT (IF ANY) AND PERTINANT* 00540020 * INFORMATION -SUCH AS PROGRAM ID, ACTIVE I/O UNITS, ETC. -WILL BE * 00600020 * GATHERED INTO AN I/O INBOARD RECORD ENTRY AND WRITTEN ONTO THE * 00660020 * LOGREC DATA SET. * 00720020 * THIS PROGRAM WILL GAIN CONTROL VIA THE MCI NEW PSW. IF CONTROL * 00780020 * WAS GAINED BY A MACHINE CHECK, SER1 WILL GENERATE A MACHINE CHECK * 00840020 * RECORD ENTRY. THIS RE WILL BE WRITTEN OUT ON THE LOGREC DATA SET * 00900020 * FOR LATER EDITING. IF CONTROL WAS GAINED VIA IOS, AN I-O INBOARD * 00960020 * RECORD ENTRY WILL BE GENERATED. THIS WILL BE WRITTEN ON THE * 01020020 * LOGREC DATA SET. ALL WRITING AND READING FROM THE DATA SET * 01080020 * WILL BE DONE USING EXCP. * 01140020 *ENTRY POINTS: SER1 CAN BE ENTERED ONLY THROUGH THE MCI NEW PSW. * 01200020 * BYTE 50 OF THE MCI OLD PSW WILL BE SET TO AN X'FF' BY NIP. IF * 01260020 * A MACHINE CHECK OCCURS, BYTE 50 WILL BE ALTERED TO REFLECT BYTE * 01320020 * 3 OF THE MCI OLD PSW. IF AN I-O CHANNEL ERROR OCCURS, IOS WILL * 01380020 * ENTER SER1 BY EXECUTING A LPSW FROM THE MCI NEW PSW. IN THIS * 01440020 * CASE, BYTE 50 WILL STILL CONTAIN A X'FF'. SER1 WILL CHECK BYTE * 01500020 * 50 TO DETERMINE WHETHER A MACHINE CHECK OR AN I-O INBOARD RECORD * 01560020 * ENTRY IS TO BE GENERATED. * 01620020 *INPUT: THE ONLY INPUT USED BY SER1 IS THE CPU LOG, THE CHANNEL LOG * 01680020 * AND BYTE 50. * 01740020 *OUTPUT: SER1 WILL WRITE THE RECORD ENTRY ON SYSTEM RESIDENCE, IN THE * 01800020 * LOGREC DATA SET. IF SER1 IS GOING TO ABORT THE SYSTEM, IT WILL * 01860020 * TYPE A MESSAGE ON THE PRIMARY OUTPUT DEVICE (USING AN INTERNAL * 01920020 * PRINT ROUTINE). * 01980020 *EXTERNAL ROUTINES: * 02040020 * EXCP--USED FOR READING AND WRITING ON LOGREC DATA SET * 02100020 * IEABTERM-USED TO TERMINATE PROBLEM PROGRAM TASK * 02160020 * PURGE--USED TO HALT I/O ON THE TASK TO BE TERMINATED 02220020 *EXITS-NORMAL: SER1 WILL ENTER ABTERM(IEABTERM) IF THE MACHINE CHECK * 02280020 * OCCURRED WITHIN A PROBLEM PROGRAM, OR WITHIN THE SUPERVISOR STATE * 02340020 * WITH ALL CHANNELS ENABLED AND NO BAD PARITY STORED IN THE SUPER- * 02400020 * VISOR. IN THIS CASE, SER1 WILL PASS A COMPLETION CODE OF * 02460020 * TO ABTERM, AND SET THE RETURN ADDRESS TO THE DISPATCHER(IEAOOS). * 02520020 *EXITS-ERROR: IF SER1 IS ENTERED TO RECORD AN I-O INBOARD FAILURE, * 02580020 * OR AN UNRECOVERABLE MACHINE CHECK OCCURRED, SER1 WILL ENTER THE * 02640020 * WAIT STATE AFTER RECORDING THE RECORD ENTRY. PRIOR TO ENTERING * 02700020 * THE WAIT STATE, SER1 WILL TYPE AN ERROR MESSAGE ON THE PRIMARY * 02760020 * OUTPUT DEVICE. * 02820020 *TABLES/WORK AREAS: NA * 02880020 *ATTRIBUTES: * 02940020 * 1. REUSABLE * 03000020 *NOTES: * 03060020 * SER1 USES EXCP TO READ FROM AND WRITE ONTO THE LOGREC DATA SET. * 03120020 * THE DCB AND DEB USED ARE SET UP BY NIP. WHEN SER1 CANNOT ABTERM * 03180020 * THE CURRENT TASK, IT WILL ENTER THE WAIT STATE. OS/360 MUST BE * 03240020 * RELOADED-IT CANNOT CONTINUE. * 03300020 * * 03320021 * PUBLICATIONS: MFT SUPERVISOR GY27-7236 * 03340021 EJECT 03360020 * HEADER RECORD AREA * 03410021 * ***************************************************************** 03412021 * * * * HIGH * 03414021 * +0 * F F 0 0 * LOW EXTENT * EXTENT * 03416021 * * * (CCHH) * (CC) * 03418021 * ***************************************************************** 03418421 * * HIGH EXTENT * * RECORD ENTRY AREA ADDRESS * 03418821 * +8 * (CONT.) * * (BBCCHHR) * 03419221 * * (HH) * * * 03419621 * ***************************************************************** 03419721 * * REC. ENTRY * REMAINING * TOTAL BYTES * ADDRESS OF * 03419821 * +16 * AREA ADDR. * BYTES ON * ON * LAST RECORD * 03419921 * * (CONT.) * TRACK * TRACK * WRITTEN * 03439921 * ***************************************************************** 03449921 * * ADDRESS OF LAST RECORD * TRACKS * EARLY * 03459921 * +24 * WRITTEN (CONT.) * PER * WARN. * 03466621 * * * CYLINDER * CNT. * 03468621 * ***************************************************************** 03470621 * * EARLY * DEV- * EARLY WARNING * EARLY * CHECK * 03472621 * +32 * WARN. * ICE * MESSAGE TRACK * WARN. * BYTE * 03473021 * * CNT. * CODE * * SWT. * (FF) * 03473121 * ***************************************************************** 03473221 EJECT 03489921 * CPU RECORD ENTRY AREA * 03506621 * ***************************************************************** 03523321 * * CLASS * SYS- * * * 03540021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 03590021 * * * RLSE. * * * 03600021 * ***************************************************************** 03720020 * * * * 03780020 * +8 * DATE * TIME * 03840020 * * * * 03900020 * ***************************************************************** 03960020 * * * * * * 04020021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 04070021 * * * * * * 04080021 * ***************************************************************** 04130021 * * * 04140021 * +24 * PROGRAM IDENTITY * 04190021 * * * 04200021 * ***************************************************************** 04250021 * * * 04260021 * +32 * JOB IDENTITY * 04310021 * * * 04320021 * ***************************************************************** 04370021 * * * 04380021 * +40 * MACHINE CHECK OLD PSW * 04430021 * * * 04440021 * ***************************************************************** 04490021 * * * 04500021 * +48 * VARIABLE LOGOUT FIELD * 04550021 * * * 04560021 * ***************************************************************** 04610021 * * * 04620021 * * MCH * 04670021 * * DAMAGE ASSESSMENT * 04680021 * * * 04730021 * ***************************************************************** 04740021 EJECT 000C 06660020 SPACE 3 06720020 * INBOARD RECORD ENTRY AREA * 06780020 * ***************************************************************** 06840020 * * CLASS * SYS- * * * 06900021 * +0 * SOURCE* TEM * SWITCHES * SPARES * 06950021 * * * RLSE. * * * 06960021 * ***************************************************************** 07080020 * * * * 07140020 * +8 * DATE * TIME * 07200020 * * * * 07260020 * ***************************************************************** 07320020 * * * * * * 07380021 * +16 * SPARE * CPU SERIAL NUMBER * CPU IDENTITY * SPARE * 07430021 * * * * * * 07440021 * ***************************************************************** 07490021 * * * 07500021 * +24 * JOB IDENTITY * 07550021 * * * 07560021 * ***************************************************************** 07610021 * * * 07620021 * +32 * ACTIVE I/O UNITS * 07670021 * * * 07680021 * ***************************************************************** 07730021 * * * 07740021 * +48 * FAILING CCW * 07790021 * * * 07800021 * ***************************************************************** 07850021 * * * 07860021 * +56 * CSW * 07910021 * * * 07920021 * ***************************************************************** 07970021 * * * * 07980021 * +64 * ECSW * DEVICE TYPE * 08030021 * * * * 08040021 * ***************************************************************** 08090021 * * CHAN. * * * 08100021 * +72 * IDENT * CUA * MP INFO * 08150021 * * * * 08160021 * ***************************************************************** 08210021 * * MACHINE DEPENDENT * 08220021 * +80 * CHANNEL * 08270021 * * LOG * 08280021 * ***************************************************************** 08330021 EJECT 09780020 R0 EQU 0 09840020 R1 EQU 1 09900020 R2 EQU 2 09960020 R3 EQU 3 10020020 R4 EQU 4 10080020 R5 EQU 5 10140020 R6 EQU 6 10200020 R7 EQU 7 10260020 R8 EQU 8 10320020 R9 EQU 9 10380020 RA EQU 10 10440020 RB EQU 11 10500020 RC EQU 12 10560020 RD EQU 13 10620020 RE EQU 14 10680020 RF EQU 15 10740020 SPACE 1 10800020 PARMREG0 EQU 5 PARAMETER REGISTER 10860020 PARMREG1 EQU 1 PARAMETER REGISTER 10920020 WORK1 EQU 2 WORK REGISTER 10980020 WORK2 EQU 3 WORK REGISTER 11040020 WORK3 EQU 4 WORK REGISTER 11100020 WORK4 EQU 5 WORK REGISTER 11160020 WORK6 EQU 7 WORK REGISTER 11220020 WORK5 EQU 6 WORK REGISTER 11280020 DADCUA EQU 8 CUA OF DIRECT ACCESS OUTPUT DEVICE 11340020 MSGCUA EQU 9 CUA OF PRIMARY OUTPUT DEVICE 11400020 LINKREG EQU 10 SUBROUTINE LINKAGE REGISTER 11460020 TCBREG EQU 11 ADDRESS OF ACTIVE TCB 11520020 CVTREG EQU 12 POINTER TO COMM VECTOR TABLE 11580020 SPACE 1 11640020 ENTRY IFBINIT 000C 11700020 EJECT 11760020 NOTDISP EQU 32 11820020 NOTDISB EQU 33 TCB NOT DISPATCHABLE 000D 11880020 NOTDEXT EQU 173 TCB NOT DISPATCHABLE EXTENSION 000D 11940020 NOTDGEN EQU X'01' GENERAL NOT DISPATCH BIT 000D 12000020 NOTDSER EQU X'20' SER TEMP NOT DISPATCH BIT 000D 12060020 NXTTCBP EQU 116 12120020 ACTTCB EQU 4 12180020 UCBACT EQU 6 12240020 IOBPTR EQU 4 12300020 STARTADR EQU 16 12360020 UCBCUA EQU 4 12420020 BASESAVE EQU 372 BASE REGISTER SAVE AREA 12480020 HDWECSW EQU 64 12540020 HDWECUA EQU 58 12600020 HEX0 EQU X'00' S21021 12650021 HEX01 EQU X'01' S21021 12652021 HEX08 EQU X'08' S21021 12654021 HEX0F EQU X'0F' S21021 12656021 HEX16 EQU 16 S21021 12658021 HEX20 EQU X'20' 000E 12660020 HEX29 EQU 29 000E 12720020 HEX40 EQU X'40' 000E 12780020 HEX7F EQU X'7F' 000E 12840020 HEX80 EQU X'80' 000E 12900020 HEXBF EQU X'BF' 000E 12960020 HEXA0 EQU X'A0' S21021 13010021 HEXC0 EQU X'C0' S21014 13012021 HEXEF EQU X'EF' S21021 13014021 HEXFF EQU X'FF' 000E 13020020 LOC40 EQU 40 S21014 13070021 LOC43 EQU 43 S21014 13072021 LOC104 EQU 104 000E 13080020 LOC116 EQU 116 000E 13140020 CE EQU C'E' 000E 13200020 SPACE 1 13260020 SHPC EQU 0 13320020 T4PC EQU 4 13380020 LTPC EQU 8 13440020 SPACE 1 13500020 TOPRBP EQU 0 13560020 SPACE 1 13620020 INTCEPT EQU X'44' IOS INTERCEPT CODE IN ECB 13680020 NORMAL EQU X'7F' COMPLETE CODE IN ECB 13740020 EXTENTNG EQU X'42' OUTSIDE EXTENT CODE IN ECB 13800020 SPACE 1 13860020 STANDIO EQU X'40' STANDALONE I/O BEING UTILIZED 13920020 IOCMPLTE EQU X'20' I/O OPERATION COMPLETE SWITCH 13980020 HEADEROK EQU X'10' HEADER READ AND UPDATED OK 14040020 HDSWTCH EQU X'02' EOF HEAD SWITCHING REQUIRED 14100020 SECONDMC EQU X'01' 2ND MACHINE CHECK HAS OCCURED 14160020 SPACE 1 14220020 DCBF0 EQU 44 14280020 DEBF2 EQU 32 14340020 DEBF4 EQU 36 14400020 UCBF3B EQU 19 DEVICE TYPE ENTRY 14460020 UCBF12 EQU 20 14520020 IOOLDPSW EQU 38 000E 14580020 TCBTCB EQU 116 NEXT LOWER PRIORITY TCB 000E 14640020 PURGE EQU 16 SVC PURGE 000E 14700020 WTO EQU 35 SVC WTO 000E 14760020 CPUSER1 EQU X'18' MCH RECORDING S21021 14810021 INBSER1 EQU X'28' CLASS AND SOURCE RECORD S21021 14812021 RECINC EQU X'40' RECORD INCOMPLETE FLAG S21021 14814021 RQEAV EQU X'20' 000E 14820020 EXCP EQU 0 14880020 TCBMSS EQU 24 14940020 LOWBTASK EQU 4 15000020 HIBTASK EQU 8 15060020 SPACE 1 15120020 OPTION1 EQU 64 15180020 SPACE 1 15240020 OBRINPGR EQU X'08' 15300020 OBRPR EQU 299 OBR/SDR IN PRG IND OFFSET FROM SER DCB MFT/MVT 000C 15360020 SPACE 1 15420020 UCMUCB EQU 12 UCM POINTER TO UCB 15480020 UCMATR EQU 25 UCM ATTRIBUTE FLAGS 15540020 UCMVEA EQU 72 UCM OFFSET FOR TAB ENTRY A39706 15600021 UCMOF EQU 128 WTO SUPPORT (UCM) 15660020 UCMUF EQU 16 WTO DEVICE ACTIVE (UCM) 15720020 SPACE 1 15780020 DEBPT EQU 8 15840020 RDSAVE EQU 376 15900020 UCBPTR EQU 32 15960020 DEBAD EQU 44 16020020 PRB EQU X'C0' RB TYPE EQUAL TO PRB 16080020 RBTCBNXT EQU X'80' RB LINK FIELD POINTS TO TCB 16140020 SPACE 1 16200020 RBSTAB EQU 10 RB STATUS AND ATTRIBUTE FIELD 16260020 RBLINK EQU 28 POINTER TO NEXT RB ON QUEUE 16320020 UCBTYPE EQU 16 S21021 16370021 UCBDVTYP EQU 18 UCB OFFSET DEVICE TYPE 000D 16380020 MCSMODE EQU X'02' MCS IN SYSTEM BIT 000D 16440020 UCMMODE EQU X'44' UCM FLAGS A47227 16500021 MCSMCENT EQU 0 MSTR CONSOLE UCM POINTER 000D 16560020 UCMHCUCM EQU 92 HARDCOPY UCM POINTER 000D 16620020 UCMERAP EQU X'20' UCM GRAPHICS BIT 000D 16680020 UCMACT EQU X'10' UCM ACTIVE DEVICE 000D 16740020 UCMDISP EQU 42 UCM DISPOSITION FLAGS 000D 16800020 UCMFLGS EQU 84 UCM SYSTEM CTRL FLAGS 000D 16860020 UCMHRDT EQU X'40' UCM HARD COPY 000D 16920020 UCMSTS EQU 24 000D 16980020 UCMOPEND EQU X'08' UCM STATUS FLAG 000D 17040020 WTOSUP EQU X'80' WRITE TO OPERATOR SUPPORT 000D 17100020 UCMALTEN EQU 44 ALTERNATE CONSOLE UCM 000D 17160020 UCMCOMPC EQU 56 COMPOSITE OTHER HALF UCM 000D 17220020 DPLYTYPE EQU X'10' DISPLAY DEVICE CODE 000D 17280020 COMMDEV EQU X'40' COMMUNICATIONS DEVICE - 274000D 17340020 MCSHCSL EQU X'02' HARDCOPY IS SYSLOG 000D 17400020 SWITCH1 EQU X'80' 1ST PASS SWITCH 000D 17460020 SWITCH2 EQU X'04' MCS IN SYSTEM 000D 17520020 SWIT1OFF EQU X'7F' MASK TO CLEAR SWITCH 1 000D 17580020 PRIMCON EQU X'80' PRIMARY CONSOLE INDICATOR 000D 17640020 ERPINPRG EQU X'02' ERP IN PROGRESS FLAG S21021 17700021 SYSTERM EQU X'20' SYSTEM TERMINATED FLAG S21021 17750021 IOBERR EQU X'20' IOB ERP INDICATOR 23243 17760020 IOBFLAG1 EQU 0 IOB ERROR FLAG 23243 17820020 EJECT 17880020 * EQUATES USED FOR CONDITION CODES 17940020 CC1 EQU 1 000D 18000020 CC6 EQU 6 000D 18060020 CC7 EQU 7 000D 18120020 CC8 EQU 8 000D 18180020 CC9 EQU 9 000D 18240020 CC15 EQU 15 000D 18300020 * EQUATES USED FOR ADDRESS AND ADDRESS MODIFICATION 18360020 AD0 EQU 0 000D 18420020 AD1 EQU 1 000D 18480020 AD2 EQU 2 S21021 18530021 AD3 EQU 3 S21021 18532021 AD4 EQU 4 000D 18540020 AD5 EQU 5 000D 18600020 AD6 EQU 6 000D 18660020 AD8 EQU 8 000D 18720020 AD9 EQU 9 S21021 18770021 AD12 EQU 12 000D 18780020 AD16 EQU 16 000E 18840020 AD20 EQU 20 000E 18900020 AD56 EQU 56 000D 18960020 AD72 EQU 72 000D 19020020 AD80 EQU 80 A38648 19050021 AD124 EQU 124 000D 19080020 * EQUATES USED FOR CONSTANTS 19140020 K2 EQU 2 000D 19200020 K4 EQU 4 000D 19260020 K5 EQU 5 000D 19320020 K8 EQU 8 000E 19380020 K9 EQU 9 S21021 19430021 K10 EQU 10 000D 19440020 K12 EQU 12 S21021 19490021 KFF EQU X'FF' 000D 19500020 * EQUATES USED FOR STORAGE TO STORAGE INSTRUCTION BYTE COUNTS 19560020 M1 EQU 1 S21021 19610021 M2 EQU 2 000D 19620020 M3 EQU 3 000D 19680020 M4 EQU 4 S21021 19730021 M6 EQU 6 000D 19740020 M7 EQU 7 S21021 19790021 M8 EQU 8 000E 19800020 M12 EQU 12 000D 19860020 M14 EQU 14 000D 19920020 M23 EQU 23 S21021 19980021 M29 EQU 29 S21021 20030021 M44 EQU 44 S21021 20032021 M56 EQU 56 S21021 20034021 K1 EQU 1 000E 20040020 K3 EQU 3 000E 20100020 K6 EQU 6 000E 20160020 K20 EQU 20 000E 20220020 K28 EQU 28 000E 20280020 SPACE 1 20340020 EJECT 20400020 IFBSER1 CSECT 20460020 *0122 000000-999999 RE-SEQUENCED MODULE-RELEASE 21 S21926 20520021 *0277 035400-036600,040200-066000,069000-070200,073800-097200, S21021 20570021 * 177000,199800,229800,233400,237000,299400,305400,307200, S21021 20580021 * 313800,316200-330600,333000,335400,342600-346200, S21021 20630021 * 348600-349200,417000-417600,447000,460800,474000-480000, S21021 20640021 * 483000,489000,490200-490800,493200,496800-497400,498600, S21021 20690021 * 499800-502200,526200,544200-544800,549000-550800,570000, S21021 20700021 * 571200-571800,585000,586200,601200,626400,706800,714000, S21021 20750021 * 721200,731400-736200,751800,755400-757800,759600, S21021 20760021 * 760800-763200,765000,773400,774600-805800,811200,813000, S21021 20810021 * 818400,867000,870000,871200 S21021 20820021 * 964800 A36397 20870021 USING CVTDSECT,CVTREG 21840020 CVTDSECT DSECT 21900020 EQUATE CVT SYS=MIN 21960020 IFBSER1 CSECT 22020020 EJECT 22080020 *********************************************************************** 22140020 *** *** 22200020 ***** INITIAL ENTRY POINT FROM NEW MACHINE CHECK PSW ***** 22260020 *** *** 22320020 *********************************************************************** 22380020 USING *,RD 22440020 IEAMCH00 DS 0C 22500020 IEAMCH ST RD,RDSAVE SAVE REGISTER IN LOWER CORE 22560020 L RD,116 SET BASE REG FROM MCI NEW PSW 22620020 SPACE 1 22680020 OI 105,X'02' SET WAIT BIT IN PI NEW PSW 22740020 ST RD,BASESAVE SAVE BASE REGISTER 22800020 MVI CLASSRC,CPUSER1 SET RE TYPE TO CPU S21021 22850021 TM 50,X'FF' TEST FOR CHANN TYPE ENTRY 22860020 BC 14,STARTC BRANCH--NOT CHANNEL TYPE 22920020 MVI CLASSRC,INBSER1 SET RE TYPE TO CHAN TYPE S21021 22980021 MVC ERRTYPE(M14),IMAGE5 SET UP FOR CHAN ERROR S21021 23030021 MVC INLOG(24),304 MOVE CHANNEL LOG TO RE AREA 23040020 BC 15,STARTB 23100020 STARTC MVC CPULOG(152),128 MOVE LOGOUT TO RE AREA 23160020 MVC ERRTYPE(M14),IMAGE6 SET UP FOR CPU ERROR S21021 23210021 MVC MCIOPSW(8),48 SAVE MCI OLD PSW IN RE AREA 23220020 MVC EOFRECRD+2(2),114 SAVE INTERRUPT CODE FIELD-EOF 23280020 STARTB OI SW1,RECINC SET INCOMP RECORD IND S21021 23340021 MVC 112(8),DSRCA SETUP NEW MACHINE CHECK PSW 23400020 LPSW DSRCA ENABLE MCI'S 23460020 SERB MVC 112(8),SERCA SETUP NEW MACHINE CHECK PSW 23520020 MVC SESCE(8),104 SAVE NEW PROG INT PSW 23580020 MVC LOC104(K8),SERCB SET NEW PRGM CHK PTR A 000E 23640020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 23700021 BC 8,SERP BRANCH--CHANNEL CHECK RECORDING 23760020 EJECT 23820020 *********************************************************************** 23880020 *** *** 23940020 ***** GENERAL PURPOSE REGISTER PARITY TEST ***** 24000020 *** *** 24060020 *********************************************************************** 24120020 GPRTNV OI 113,X'04' SET MC ENABLED BIT IN PSW 24180020 MVC 117(3),PARCHK2 LOAD RESUME ADDR IN MC PSW 24240020 MVC GPREGS+52(4),RDSAVE ATTEMPT TO MOVE R13 TO RE AREA 24300020 NI GPRPAR+1,X'FB' CLEAR PARITY INDICATOR IN RE 24360020 GPR14 MVC 117(3),PARCHK3 LOAD RESUME ADDR IN MC PSW 24420020 ST RE,GPREGS+56 ATTEMPT TO STORE R14 IN RE AREA 24480020 NI GPRPAR+1,X'FD' CLEAR PARITY INDICATOR IN RE 24540020 GPR15 MVC 117(3),PARCHK4 LOAD RESUME ADDR IN MC PSW 24600020 ST RF,GPREGS+60 ATTEMPT TO STORE R15 IN RE AREA 24660020 NI GPRPAR+1,X'FE' CLEAR PARITY INDICATOR IN RE 24720020 GPTEST1 NI 113,X'FB' SET MC DISABLED BIT IN PSW 24780020 LPSW GPPSW2 DISABLE MACHINE CHECKS 24840020 AL RE,ZERO CORRECT POTENTIAL BAD PARITY 24900020 AL RF,ZERO CORRECT POTENTIAL BAD PARITY 24960020 STM RE,RF,GPREGS+56 SAVE REGS 14-15 IN RE AREA 25020020 XR RE,RE CLEAR REGISTER 25080020 AL RE,RDSAVE CORRECT POTENTIAL BAD PARITY 25140020 ST RE,GPREGS+52 SAVE REGISTER 13 IN RE AREA 25200020 ST RE,RDSAVE CORRECT BAD PARITY IN CORE 25260020 LA RF,GPTEST2 RESUME ADDR IF PENDING MACH CHK 25320020 ST RF,116 STORE IN NEW MACHINE CHECK PSW 25380020 GPTEST2 LPSW GPPSW1 CLEAR PENDING MC BY ENABLING 25440020 MVC 117(3),PARCHK5 LOAD RESUME ADDR IN MC PSW 25500020 LH RE,EXMODMSK EXECUTE MODIFICATION MASK 25560020 NEXTREG EX RE,EXSTORE ATTEMPT EXECUTION OF STORE INST 25620020 SH RE,EXCONST SUBTRACT ONE FROM EXECUTE MASK 25680020 BC 10,NEXTREG BRANCH TO TEST NEXT REGISTER 25740020 STM R0,RC,GPREGS STORE REMAINING REGS IN RE AREA 25800020 MVC 117(3),SERCAA RESTORE NEW MACHINE CHECK PSW 25860020 BC 15,FPTEST BRANCH--FINISHED WITH GPR TEST 25920020 SPACE 1 25980020 MACHCK EX RE,EXADD CORRECT BAD PARITY IN REGISTER 26040020 SRL RE,4 POSITION EXECUTE MASK 26100020 L RF,FLTBIT PARITY INDICATOR CONSTANT 26160020 SRL RF,0(RE) POSITION PARITY INDICATOR 26220020 O RF,GPRPAR OR PARITY INDICATORS 26280020 ST RF,GPRPAR STORE PARITY INDICATORS IN RE 26340020 SLL RE,4 RE-POSITION EXECUTE MASK 26400020 LPSW GPTSTRTN ENABLE--BR TO PROCESS NEXT REG 26460020 SPACE 2 26520020 DS 0D 26580020 GPPSW1 DC XL5'4000000' MACHINE CHECK ENABLED PSW 26640020 GPTST2AD DC AL3(GPTEST2+4-IEAMCH00) 000C 26700020 GPPSW2 DC XL5'0' MACHINE CHECK DISABLED PSW 26760020 GPTST1AD DC AL3(GPTEST1+8-IEAMCH00) 000C 26820020 GPTSTRTN DC XL5'4000000' MACHINE CHECK ENABLED PSW 26880020 NXTREGAD DC AL3(NEXTREG+4-IEAMCH00) 000C 26940020 SPACE 1 27000020 FLTBIT DC X'80000000' PARITY INDICATOR CONSTANT 27060020 EXCONST DC XL2'10' EXECUTE MASK SUBTRACTION CONST 27120020 EXMODMSK DC XL2'C0' INITIAL EXECUTE MODIF. MASK 27180020 EXSTORE ST R0,128 OPERAND OF EXECUTE INSTRUCTION 27240020 EXADD AL R0,ZERO OPERAND OF EXECUTE INSTRUCTION 27300020 SPACE 1 27360020 PARCHK2 DC AL3(GPR14-IEAMCH00) PSW ADDR FOR REG 13 TEST 000C 27420020 PARCHK3 DC AL3(GPR15-IEAMCH00) PSW ADDR FOR REG 14 TEST 000C 27480020 PARCHK4 DC AL3(GPTEST1-IEAMCH00) PSW ADDR FOR REG 15 TEST 000C 27540020 PARCHK5 DC AL3(MACHCK-IEAMCH00) PSW ADDR FOR REG 0-12 TEST 000C 27600020 EJECT 27660020 *********************************************************************** 27720020 *** *** 27780020 ***** FLOATING POINT REGISTER PARITY TEST ***** 27840020 *** *** 27900020 *********************************************************************** 27960020 FPTEST LA R3,FPREGS ADDR OF REGS IN RE AREA 28020020 LA R2,128 FP REG FLOATING INDICATOR 28080020 SLR R6,R6 CLEAR REGISTER 28140020 SLR R5,R5 CLEAR REGISTER--EX MOD MASK 28200020 LA R4,4 COUNTER FOR FOUR FP REGS 28260020 REPEAT LA R1,REGPAR ADDR OF MACHINE CHECK ENTRY PT 28320020 ST R1,116 STORE IN MACHINE CHECK NEW PSW 28380020 EX R5,STDFPR EXECUTE STORE DOUBLE INSTR 28440020 SRLIND SRL R2,1 POSITION FLOATING INDICATOR 28500020 LA R5,32(R5) UPDATE EXECUTE INSTRUCTION MASK 28560020 LA R3,8(R3) NEXT FP REG SAVE AREA 28620020 LA R1,STPSW RESUME ADDRESS FOR MACHINE CHK 28680020 STPSW ST R1,116 STORE IN NEW MC PSW 28740020 LPSW ENAB1 ENABLE TO CLEAR PENDING MC'S 28800020 RESUME BCT R4,REPEAT REPEAT FOR NEXT FP REG 28860020 STC R6,FPRPAR STORE PARITY INDICATORS IN RE 28920020 MVC 112(8),SERCA RESTORE NEW MC PSW 28980020 BC 15,SERP BRANCH TO NEXT FUNCTION 29040020 SPACE 2 29100020 REGPAR OR R6,R2 SET REG PARITY INDICATOR 29160020 EX R5,STDFPR EXECUTE STORE FP REG INSTRUCTIO 29220020 MVC 0(4,R3),0(R3) CORRECT BAD PARITY IN STORAGE 29280020 MVC 4(4,R3),4(R3) CORRECT BAD PARITY IN STORAGE 29340020 EX R5,LDFPR CORRECT BAD PARITY IN REGISTER 29400020 BC 15,SRLIND BR TO SETUP FOR NEXT REG 29460020 SPACE 2 29520020 STDFPR STD 0,0(R3) STORE FP REGISTER 29580020 LDFPR LD 0,0(R3) LOAD FP REGISTER 29640020 DS 0D 29700020 ENAB1 DC XL5'4000000' MACHINE CHECK ENABLED PSW 29760020 RESUMEAD DC AL3(RESUME-IEAMCH00) 000C 29820020 EJECT 29880020 ***** MOVE DATE AND RELEASE NUMBER INTO RECORD ENTRY S21021 29940021 SPACE 1 30000020 SERP LA LINKREG,SERH SET PCI RTN PTR TO SERH A 000E 30060020 L CVTREG,INTCVTPT GET ADR COM VCTR TABLE A 000E 30120020 LR WORK1,CVTREG CVT ADDR IN WORK REG S21021 30170021 S WORK1,FOUR GET NEG OFFSET S21021 30172021 XC DSRCC(M8),DSRCC CLEAR WORK AREA S21021 30174021 MVC DSRCC+M6(M2),AD0(WORK1) GET RELEASE NUMBER S21021 30176021 PACK DSRCC(M8),DSRCC(M8) PACK RELEASE NUMBER S21021 30178021 CVB WORK1,DSRCC CONVERT TO BINARY S21021 30178421 STC WORK1,SYSREL PUT IN RECORD S21021 30178821 MVC REDATE(4),CVTDATE MOVE DATE TO RECORD ENTRY AREA 30180020 L TCBREG,CVTTCBP LOAD ADDRESS OF TCB POINTERS 30240020 L TCBREG,ACTTCB(TCBREG) LOAD ADDRESS OF ACTIVE TCB 30300020 ST TCBREG,PURGPARM+4 STORE TCB ADDR IN PURGE LIST 30360020 SPACE 1 30420020 ***** COMPUTE LOCAL TIME OF DAY FOR RECORD ENTRY 30480020 ***** AND SET UP FOR TIME-STAMPING MESSAGE 30540021 SPACE 1 30590021 SR R5,R5 CLEAR REG FOR POSSIBLE 0 S21021 30592021 XR WORK1,WORK1 CLEAR REGISTER 30600020 AL WORK1,CVTTPC LOAD POINTER TO PSEUDO CLOCKS 30660020 BC 10,TDENDCN1 NO-BRANCH AROUND S21021 30720021 L WORK2,SHPC(WORK1) LOAD SIX HOUR PSEUDO CLOCK 30780020 AL WORK2,T4PC(WORK1) ADD 24 HOUR PSEUDO CLOCK 30840020 L WORK3,80 LOAD HARDWARE TIMER 30900020 SRA WORK3,1 CONVERT TO 26 US INCREMENTS 30960020 SLR WORK2,WORK3 SUBTRACT TIMER 31020020 AL WORK2,LTPC(WORK1) ADD LOCAL TIME PSEUDO CLOCK 31080020 BC 3,TADJUST BRANCH ON OVERFLOW 31140020 CL WORK2,TD24HRS CHECK FOR OVER 24 HOURS 31200020 BC 4,TADJUST+4 BRANCH IF NOT OVER 24 HOURS 31260020 TADJUST AL WORK2,TDADJ ADD 7+ HOURS CORRECTION FACTOR 31320020 SRL R3,1 CONVERT TO BIN S21021 31380021 M R2,TD10E5 S21021 31430021 D R2,TDCNVR S21021 31432021 LA R1,32 INITIALIZE LOOP S21021 31434021 L R6,TDIV INITIALIZE REG. S21021 31436021 TDVD SR R2,R2 CLEAR REG S21021 31438021 DR R2,R6 DEV.DEC.DIG. AS REMAIN. S21021 31438421 LR R4,R2 S21021 31438821 SRDL R4,4 SHIFT DEC DIG INTO REG S21021 31439221 SH R1,*-2 DECREMENT BY 4 S21021 31439621 LTR R3,R3 IS DIVIDEND 0 S21021 31439721 BZ TDENDCNV YES-BRANCH S21021 31439821 C R1,TD24 IS COUNT =24 S21021 31439921 BNL TDVD BRANCH IF NOT S21021 31459921 X R6,TD12 ALT. DIVISION S21021 31469921 B TDVD S21021 31479921 TDENDCNV SRL R5,AD0(R1) GET FINAL DEC DIGS. S21021 31486621 TDENDCN1 ST R5,RETIME PUT TIME IN RECORD S21021 31488621 OI SW0,HEX08 INDICATE TIME CONVERTED S21021 31490621 UNPK TIMAGE+AD3(M7),RETIME(M4) UNPACK TIME S21021 31492621 MVC TIMAGE+AD1(M2),TIMAGE+AD3 MOVE HH S21021 31493021 MVI TIMAGE+AD3,C'.' SET PERIOD S21021 31493121 MVC TIMAGE+AD4(M2),TIMAGE+AD5 MOVE MM S21021 31493221 MVI TIMAGE+AD6,C'.' SET PERIOD S21021 31509921 MVI TIMAGE,C',' SET COMMA S21021 31519921 MVI TIMAGE+AD9,C' ' BLANK LAST CHAR S21021 31521921 SPACE 1 31526621 ***** DETERMINE TYPE OF RE AND GO TO APPROPRIATE SUBROUTINE 31543321 SPACE 1 31560020 SERH CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 31620021 BE CSERB YES - BRANCH S21021 31670021 SPACE 1 33120020 ***** MOVE PROGRAM ID FROM RB TO RECORD ENTRY AREA 33180020 SPACE 1 33240020 SERG LA LINKREG,FAILTCB SET PCI RTN PTR S21021 33300021 L WORK1,TOPRBP(TCBREG) LOAD ADDRESS OF TOP RB 33360020 XR WORK2,WORK2 CLEAR REGISTER 33420020 CLR WORK2,TCBREG TCB REG CONTAIN ADDRESS ZERO 33480020 BE FAILTCB BRANCH IF ILLEGAL S21021 33540021 RBSEARCH TM RBSTAB(WORK1),PRB COMPARE RB FOR PRB TYPE 33600020 BC 7,*+6 BR--RB IS NOT A PRB 33660020 LR WORK2,WORK1 SAVE PRB ADDRESS 33720020 MVI RBLINK(WORK1),0 CLEAR RB WAIT COUNT 33780020 TM RBSTAB+1(WORK1),RBTCBNXT TEST IF LINK FLD POINTS TO TCB 33840020 BC 1,ENDRBLST BR--END OF RB LIST 33900020 L WORK1,RBLINK(WORK1) LOAD NEXT RB ADDRESS 33960020 BC 15,RBSEARCH BRANCH TO CHECK NEXT RB 34020020 ENDRBLST LTR WORK2,WORK2 TEST FOR A PRB ADDRESS 34080020 BC 8,FAILTCB BRANCH 000C 34140020 RBFOUND MVC PROGID(8),0(WORK2) MOVE PROG ID FROM RB TO RE 34200020 ***** GET JOBNAME IN PROPER AREA 34260021 FAILTCB LA WORK5,JOBNAME GET PTR TO JOBNAME AREA S21021 34310021 BAL LINKREG,RECOMP GO PUT IN RECORD S21021 34320021 SPACE 3 34680020 ***** DETERMINE STATE OF SYSTEM AT INTERRUPT TIME 34740020 SPACE 1 34800020 TM MCIOPSW,HEXFF IS THE SYSTEM DISABLED 000E 34980020 BNO SERLI YES LOAD A WAIT STATE 000E 35040020 L WORK3,CVTCUCB GET UCM ADDRESS A44512 35050021 C TCBREG,HEX40(WORK3) IS IT COMTASK A44512 35060021 BE SERLI YES-LOAD WAIT STATE A44512 35070021 TM CVTDCB,OPTION1 PCP SYSTEM 000C 35100020 BC 1,OBRPCP YES, BRANCH 000C 35160020 L WORK3,CVTDCB ADDRESS OF SER DCB 000C 35220020 TM OBRPR(WORK3),OBRINPGR TEST IF OBR/SDR IN PROGRESS000C 35280020 BC 15,OBRPCP+4 BRANCH 000C 35340020 OBRPCP TM EOFRECRD+2,OBRINPGR TEST IF OBR/SDR IN PRG/PCP 000C 35400020 BE OBRPCPA C 000E 35460020 OI IORCD,HEX40 SET OBR/SDR IN PROGRESS C 000E 35520020 OBRPCPA EQU * C 000E 35580020 SPACE 1 35640020 ***** CHECK FOR PARITY ERRORS IN MAIN STORAGE 35700020 SPACE 1 35760020 **************************************************************** B 000E 35820020 **************************************************************** B 000E 35880020 * B 000E 35940020 * B 000E 36000020 * TEST THE NUCLEUS FOR BAD PARITY B 000E 36060020 * B 000E 36120020 PTYCHK LA WORK1,PTYCHK2 SET UP LOAD PSW ! 000E 36180020 ST WORK1,MSCHKPSW+AD4 B 000E 36240020 LA WORK1,PTYCHK5 SET UP NEW MC PSW B 000E 36300020 ST WORK1,LOC116 IN LOW CORE B 000E 36360020 SR WORK1,WORK1 GET START ADDR B 000E 36420020 PTYCHK1 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 36480020 PTYCHK2 LA WORK1,AD16(WORK1) UP POINTER BY 16 B 000E 36540020 CL WORK1,CVTNUCB ARE WE AT END OF NUC B 000E 36600020 BL PTYCHK1 NO LOOP ON B 000E 36660020 TM IORCD,HEX20 YES ANY ERRORS B 000E 36720020 BO SERLI YES LOAD A WAIT STATE B 000E 36780020 * B 000E 36840020 * B 000E 36900020 **************************************************************** B 000E 36960020 **************************************************************** B 000E 37020020 * B 000E 37080020 * B 000E 37140020 * B 000E 37200020 * TEST THE CURRENT TCB'S REGION OR PARTITION B 000E 37260020 * B 000E 37320020 LA WORK1,PTYCHK4 SET UP LOAD PSW AGAIN B 000E 37380020 ST WORK1,MSCHKPSW+AD4 B 000E 37440020 LA WORK1,PTYCHK6 SET UP NEW MC PSW B 000E 37500020 ST WORK1,LOC116 B 000E 37560020 * THE FOLLOWING TEST IS TO HANDLE WAIT STATE MACHINE CHECKS 37570021 C TCBREG,AD0(TCBREG) TEST FOR WAIT TCB A56526 37580021 BE PTYCHK4A YES-BRANCH AROUND A56526 37590021 L WORK1,TCBMSS(TCBREG) FIND BOUNDARIES B 000E 37620020 L WORK6,HIBTASK(WORK1) POINTER TO HI BOUND B 000E 37680020 L WORK1,LOWBTASK(WORK1) POINTER TO LOW BOUND B 000E 37740020 ST WORK6,CHKTCB1 SAVE IT FOR COMPARE B 000E 37800020 SR WORK6,WORK6 CORRECTON FACTOR B 000E 37860020 PTYCHK3 LM WORK2,WORK5,AD0(WORK1) PICK UP FOUR WORDS B 000E 37920020 PTYCHK4 LA WORK1,AD16(WORK1) BUMP ADDRESS BY 16 B 000E 37980020 CL WORK1,CHKTCB1 ARE WE DONE WITH REGION B 000E 38040020 BL PTYCHK3 NO LOOP BACK FOR MORE B 000E 38100020 PTYCHK4A MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH PSW A56526 38160021 B SYSTEMIO ALL DON E GO ON TO ABEND B 000E 38220020 * B 000E 38280020 PTYCHK5 OI IORCD,HEX20 TURN ON ERROR IN NUC B 000E 38340020 L WORK1,CVTNUCB SET WORK1 TO STOP TST B 000E 38400020 MVC LOC116+AD1(M3),SERCAA RESTORE NEW MCH CHK PSW B 000E 38460020 B PTYCHK7 LOAD PSW AND GO ON B 000E 38520020 * B 000E 38580020 PTYCHK6 AR WORK2,WORK6 ADD ZERO TO RESET PARITY B 000E 38640020 AR WORK3,WORK6 ADD ZERO TO RESET PARITY B 000E 38700020 AR WORK4,WORK6 ADD ZERO TO RESET PARITY B 000E 38760020 AR WORK5,WORK6 ADD ZERO TO RESET PARITY B 000E 38820020 STM WORK2,WORK5,AD0(WORK1) STOW BACK CORRECTS PRTY B 000E 38880020 PTYCHK7 LPSW MSCHKPSW GO ON TESTING B 000E 38940020 * B 000E 39000020 * B 000E 39060020 **************************************************************** B 000E 39120020 SPACE 3 39170021 *********************************************************************** 39172021 RECOMP L WORK3,K12(TCBREG) LOAD ADDR OF TIOT S21021 39174021 MVC AD0(M8,WORK5),AD0(WORK3) GET JOBNAME S21021 39176021 TM IORCD,HEX80 TEST FOR PCI ERRORS S21021 39178021 BO RECOMPA YES-BRANCH S21021 39178421 NI SW1,HEXFF-RECINC CLEAR RECORD INCOMP S21021 39178821 RECOMPA NI IORCD,HEX7F CLEAR PCI ERR IND S21021 39179221 MVI PCICOUNT+AD1,K1 SET COUNTER TO ONE S21014 39179621 CVTGTF EQU EQUATE+236 *** TO BE REMOVED WHEN GTF ***S21014 39179721 * *** POINTER IS AVAILABLE ***S21014 39179821 BR LINKREG RETURN S21021 39179921 *********************************************************************** 39199921 SPACE 1 39209921 **** SAVE ERROR MESSAGE 39219921 SAVEMSG MVC CPULOG(M44),PRTIMAGE SAVE ERROR MESSAGE S21021 39226621 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 39228621 MVC PRTIMAGE(M29),WTO90 GET NEAR FULL MESSAGE S21021 39230621 BR LINKREG RETURN S21021 39232621 EJECT 39233321 *********************************************************************** 39240020 *** *** 39300020 ***** THIS ROUTINE WILL PREPARE TO EXIT TO ABEND ***** 39360020 *** *** 39420020 *********************************************************************** 39480020 SPACE 1 39540020 SESF SSM ZERO DISABLE I/O AND EXT INTERRUPTS 39600020 SPACE 1 39660020 ***** RESTORE TASKS TO A DISPATCHABLE STATE 39720020 SPACE 1 39780020 TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 39840020 BC 1,SESFC YES - BYPASS 39900020 L R7,CVTHEAD HIGHEST PRIORITY TCB 39960020 SESFA EQU * 000D 40020020 TCBNDB NI NOTDEXT(R7),HEXFF-NOTDSER CLEAR SER TEMP NOT DISP 000E 40080020 NC NOTDEXT(M3,R7),NOTDEXT(R7) MORE DISP BITS 000D 40140020 BC CC7,TCBNDBA BRANCH--NO 000D 40200020 NI NOTDISB(R7),HEXFF-NOTDGEN CLEAR OUT EXT FLD USED 000E 40260020 TCBNDBA EQU * 000D 40320020 SESFB L R7,116(R7) NEXT TCB - LOWER PRIORITY 40380020 LTR R7,R7 LAST TCB 40440020 BC 7,SESFA NO - CONTINUE 40500020 SESFC NI HEX29(TCBREG),HEXFF-AD1 CLEAR PROHIBIT ASY EXIT 000E 40560020 SPACE 1 40620020 ***** SETUP FOR WRITE TO OPERATOR AND DELAY 40680020 SPACE 1 40740020 WTOMSG TM IORCD,HEX16 TEST FOR EW MESSAGE S21021 40800021 BZ NOTFUL NO-BRANCH AROUND S21021 40850021 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 40852021 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 40854021 SVC WTO WRITE TO OPERATOR S21021 40856021 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 40858021 NOTFUL NI IORCD,HEXEF CLEAR EW SWITCH S21021 40858421 LA PARMREG1,WTOIMAGE GET WTO PRINT IMAGE AREA S21021 40858821 SVC 35 WRITE TO OPERATOR SVC CALL 40860020 LA WORK1,4 WTO DELAY COUNTER 40920020 SLL WORK1,21 POSITION DELAY COUNTER 40980020 BCT WORK1,* DELAY FOR WTO COMPLETION 41040020 SPACE 1 41100020 ***** SETUP FOR ABEND ENTRY 41160020 SPACE 1 41220020 LR R0,TCBREG ADDRESS OF ACTIVE TCB 41280020 L RF,CVTBTERM ABEND ENTRY POINT 41340020 L R1,ABNDCODE ABEND COMPLETION CODE 41400020 BALR RE,RF BRANCH TO ABEND 41460020 SPACE 1 41520020 ***** FINAL HOUSEKEEP AND EXIT TO DISPATCHER 41580020 SPACE 1 41640020 XC PROGID(M56),PROGID CLEAR RE AREA S21021 41700021 NI SW1,HEXBF CLEAR RECORD INCOMPLETE S21021 41750021 L RE,CVT0DS DISPATCHER ADDRESS 41820020 NI SESCE+1,X'04' CLEAR WAIT BIT IN PROG INT PSW 41880020 XC IORCC(M2),IORCC CLEAR INTERNAL SWITCHES A 000E 41940020 XC CHKTCB1(K4),CHKTCB1 & SAVE AREAS D 000E 42000020 MVI PCICOUNT+AD1,AD16 RESTORE COUNT TO 16 A 000E 42060020 MVC IMAGE1+AD1(M23),IMAGE1 CLEAR BUFFER S21021 42120021 MVI GPRPAR+1,7 INITIALIZE RE PARITY INDICATORS 42180020 MVC 104(16),SESCE RESTORE INITIAL PI AND MC PSW'S 42240020 MVI 50,X'FF' SET IND TO TEST MACH CHECK 42300020 L WORK1,CVTTCBP GET PTR TO NEW/OLD TCB A38648 42350021 SR WORK2,WORK2 CLEAR REGISTER A38648 42352021 L WORK3,CVTHEAD GET HIGHEST PRIORITY TCB A38648 42354021 STM WORK2,WORK3,AD0(WORK1) STORE MODIFIED NEW/OLD A38648 42356021 LM R2,R9,AD80(WORK3) GET REGS FOR DISPATCHER A38648 42358021 BCR 15,RE EXIT SER1--BRANCH TO DISPATCHER 42360020 EJECT 42420020 *********************************************************************** 42480020 *** *** 42540020 ***** UNEXPECTED MACHINE CHECK OR PROGRAM INTERRUPT OCCURRED ***** 42600020 *** *** 42660020 *********************************************************************** 42720020 MCI2 L RD,BASESAVE LOAD SAVED BASE REGISTER VALUE 42780020 L CVTREG,INTCVTPT LOAD ADDR OF COMM VECTOR TABLE 42840020 LM RE,RB,0 CLEAR POTENTIAL BAD PARITY 42900020 TM IORCC,X'20' TEST IF I/O IS COMPLETE 42960020 BC 1,WAITTERM BRANCH--TERMINATE SYSTEM 43020020 TM IORCC,SECONDMC TEST FOR SECOND MACHINE FAILURE 43080020 BC 1,SEREP BR--SECOND FAILURE HAS OCCURRED 43140020 OI IORCC,SECONDMC SET SECOND FAILURE FLAG 43200020 TM IORCC,X'48' TEST STANDALONE AND I/O IN PROG 43260020 BC 1,SEREP3 BR--ATTEMPT SEREP SETUP 43320020 BC 15,IOFAIL+8 BR--ATTEMPT OUTPUT AGAIN 43380020 IOFAIL TM IORCC,STANDIO TEST FOR STANDALONE I/O 43440020 BC 1,ERREXIT2 BRANCH--STANDALONE I/O 43500020 OI IORCC,STANDIO SET STANDALONE I/O FLAG 43560020 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 43620020 LA WORK1,WRITENT WRITE RECORD ENTRY POINT 43680020 TM IORCC,X'10' TEST IF HEADER RECORD READ OK 43740020 BC 1,*+8 HDR OK--BRANCH TO WRITE RE 43800020 LA WORK1,SERLI READ HEADER ENTRY POINT 43860020 ST WORK1,DSRCA+4 STORE ADDRESS IN PSW 43920020 LPSW DSRCA ENABLE MC'S - BR TO OUTPUT 43980020 WAITTERM MVI PRTIMAGE+5,C'6' SET ERROR MESSAGE CODE 44040020 LA R0,X'F06' WAIT PSW ERROR CODE 44100020 BC 15,ERREXIT1+8 BR TO PRT MESSAGE AND TERMINATE 44160020 SPACE 1 44220020 ***** SETUP FOR SEREP OUTPUT 44280020 SPACE 1 44340020 SEREP MVI 121,0 DISABLE MC IN I/O NEW PSW 44400020 SEREP3 MVI PRTIMAGE+5,C'D' SWT ERROR MESSAGE CODE 44460020 LA R0,X'F0D' WAIT PSW ERROR CODE 44520020 BAL LINKREG,ERREXIT2+12 BRANCH TO SETUP PRINT IMAGE 44580020 SPACE 1 44640020 SEREP1 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 44700021 BC 8,SEREPIN BRANCH--INBOARD RE 44760020 MVC 128(152),CPULOG MOVE LOG TO LOGOUT AREA 44820020 MVC 48(8),MCIOPSW MOVE MC PSW TO HARDWARE LOC. 44880020 MVI 115,0 CLEAR SEREP INTERFACE BYTE 44940020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 45000020 SPACE 1 45060020 SEREPIN MVC 304(24),INLOG MOVE CHANN LOG TO LOGOUT AREA 45120020 MVC 64(8),INCSW MOVE CSW TO HARDWARE LOCATION 45180020 MVC 58(2),INCUA MOVE CUA TO I/O OLD PSW 45240020 MVI 115,X'0F' SETUP SEREP INTERFACE BYTE 45300020 BC 15,EXIT BRANCH TO ENTER WAIT STATE 45360020 SPACE 1 45420020 SPACE 2 45480020 ***** ENTER WAIT STATE WITH ALL INTERRUPTS DISABLED 45540020 SPACE 1 45600020 EXIT ST R0,SERCA+4 STORE TERMINATION CODE IN PSW 45660020 MVI SERCA+1,X'02' SET WAIT BIT 45720020 LPSW SERCA ENTER WAIT STATE 45780020 * A 000E 45840020 * PROGRAM CONTROL CHECK WHILE FILLING RE A 000E 45900020 * A 000E 45960020 PCIERR L RD,BASESAVE RESTORE BSSE ADDR A 000E 46020020 L CVTREG,INTCVTPT RESET CVT PIONTER S21014 46080021 TM CVTGTF,HEXC0 TEST GTF ACTIVE S21014 46130021 BZ PCIERR0 BRANCH--NO S21014 46132021 CLI LOC43,K1 TEST FOR OPER INT S21014 46134021 BNE PCIERR0 BRANCH--NO S21014 46136021 LPSW LOC40 RETURN S21014 46138021 PCIERR0 OI IORCD,HEX80 TURN ON PCI ERROR IND S21014 46138421 PCIERRB LH PARMREG0,PCICOUNT NO. OF ENTRIES ALLOWED A 000E 46140020 BCT PARMREG0,PCIERRA IF NOT ZERO OK A 000E 46200020 LPSW SERCA GTR THAN 16 ENTRYS-WAIT A 000E 46260020 PCIERRA STH PARMREG0,PCICOUNT SAVE COUNT A 000E 46320020 BR LINKREG RETURN A 000E 46380020 EJECT 46440020 *********************************************************************** 46500020 * * 46560020 ***** ACCUMULATE DATA FOR CHANNEL CHECK RECORDINGS ***** 46620020 * * 46680020 *********************************************************************** 46740020 SPACE 1 46800020 ***** MOVE CSW AND CUA INTO RECORD ENTRY AREA 46860020 SPACE 1 46920020 CSERB LA LINKREG,FAILCCW SET PCI RTN TO FAILCCW A 000E 46980020 MVC INCSW(K8),HDWECSW MOVE CSW RO RE AREA A 000E 47040020 LH WORK2,HDWECUA LOAD CUA FROM I/O OLD PSW 47100020 STH WORK2,INCUA STORE CUA INTO RECORD ENTRY 47160020 * GET CHANNEL IDENTITY 47210021 SR WORK1,WORK1 CLEAR REG S21021 47212021 LR WORK3,WORK2 GET CUA IN WORK REG S21021 47214021 SRL WORK3,K9 GET CHAN/2 S21021 47216021 L WORK5,CHCONFIG GET ADDR OF CHAN TABLE S21021 47218021 IC WORK1,AD0(WORK5,WORK3) GET PROPER 2-CHAN BYTE S21021 47218421 LA WORK3,AD0(WORK5,WORK3) GET PTR TO PROPER INDEX S21021 47218821 MVN INCHANID(M1),AD0(WORK3) MOVE IN ODD ADDR TYPE S21021 47219221 TM HDWECUA,HEX01 TEST FOR ODD CHAN ADDR S21021 47219621 BO ODDADR BRANCH IF ODD S21021 47219721 * EVEN ADDRESS 47219821 SRL WORK1,K4 SHIFT TO EVEN TYPE S21021 47219921 STC WORK1,INCHANID STORE CHANNEL IDENT S21021 47239921 * GET CHANNEL ADDRESS FOR MESSAGE 47249921 ODDADR MVC ERRTYPE+K6(M1),HDWECUA MOVE NUMERIC PORTION S21021 47259921 TR ERRTYPE+K6(M1),TABLE TRANSLATE CHAN ADDRESS S21021 47266621 SPACE 1 47273321 ***** LOCATE UCB AND LAST REQUEST ELEMENT 47280020 SPACE 1 47340020 MVI LKUPEND+AD1,HEX0 INIT. BRANCH INST. S21021 47400021 STH WORK2,INACTIO STORE CUA S21021 47450021 LA PARMREG1,INACTIO+K2 INC STARTING ADDRESS S21021 47460021 L WORK1,CVTILK2 GET ADDR OF UCB PTRS S21021 47510021 LA WORK3,K8 GET COUNT S21021 47520021 FINDUCB LH WORK4,AD0(WORK1) GET NEXT UCB ADDR S21021 47570021 LA WORK1,AD2(WORK1) UPDATE POINTER S21021 47580021 LTR WORK4,WORK4 TEST FOR UCB TABLE END S21021 47630021 BC 4,LKUPEND END OF LOOKUP S21021 47640021 BC 8,FINDUCB LOOP ON ZERO ADDR S21021 47690021 ***** GET CUA AND COMPARE 47700021 LH WORK5,UCBCUA(WORK4) GET CUA FROM UCB S21021 47750021 N WORK5,CON7FF CLEAR FLAGS S21021 47760021 ***** TEST FOR FAILING CHANNEL 47810021 STH WORK5,DSRCC STORE CUA TEMP S21021 47820021 CLC INCUA(M1),DSRCC TEST FOR CORRECT CHANNEL S21021 47870021 BNE FINDUCB NO-GO GET NEXT ONE S21021 47880021 ***** CORRECT CHANNEL-NOW CONTINUE TEST 47930021 CLR WORK5,WORK2 COMPARE FOR VALID ADDR S21021 47940021 BNE ACTST NO-BRANCH AROUND S21021 47990021 ***** GET UCB DEVICE TYPE FIELD IN RECORD 48000021 MVC INDEVTP(M4),UCBTYPE(WORK4) GET DEVICE TYPE S21021 48050021 STH WORK4,DSRCC+AD2 SAVE UCB POINTER S21021 48052021 MVI LKUPEND+AD1,X'F0' MODIFY BRANCH S21021 48054021 B FINDUCB GO GET NEXT-NO ACT TEST S21021 48056021 ***** TEST FOR ACTIVE DEVICE 48058021 ACTST TM UCBACT(WORK4),HEX80 TEST FOR UCB ACTIVE S21021 48058421 BZ FINDUCB NO-GET NEXT UCB ADDR S21021 48058821 BCT WORK3,STCUA YES-GO STORE IN RECORD S21021 48059221 LA WORK3,K1 SET COUNTER TO 1 S21021 48059621 B FINDUCB GET NEXT UCB ADDR S21021 48059721 STCUA STH WORK5,AD0(PARMREG1) STORE CUA IN RE AREA S21021 48059821 LA PARMREG1,AD2(PARMREG1) UPDATE POINTER S21021 48059921 B FINDUCB GET NEXT UCB ADDR S21021 48079921 LKUPEND BC 0,CUACOMP BRANCH OR FALL THRU S21021 48089921 OI SW1,HEX80 SET ILLEGAL CUA FLAG ON S21021 48099921 OI IORCD,HEX80 SET RECORD INCOMPLETE 48106621 B FAILCCW BRANCH S21021 48108621 CUACOMP LH WORK4,DSRCC+AD2 RESTORE UCB POINTER S21021 48110621 SPACE 1 48113321 ***** TEST FOR ERP IN PROGRESS S21021 48120021 SPACE 1 48180020 TM UCBACT(WORK4),X'20' TEST 12* AVAILABLE 48240020 BZ FAILCCW NO - BRANCH S21021 48300021 LH WORK4,UCBF12(WORK4) LOCATE 12* POINTER 48360020 PCPTCB L WORK5,CVTIXAVL NEXT AVAIL I/O QUEUE ELEMENT 000D 48420020 L WORK5,AD4(WORK5) TCB TABLE ADDRESS 000D 48480020 SR TCBREG,TCBREG CLEAR TCB REG 000D 48540020 IC TCBREG,AD4(WORK4) TCB DISPLACEMENT FOR THIS RQE 000D 48600020 SLL TCBREG,K2 MULTIPLY BY 4 S21527 48650021 L TCBREG,AD0(TCBREG,WORK5) TCB POINTER 000D 48660020 L WORK4,IOBPTR(WORK4) LOAD IOB POINTER FROM 12* 48720020 TM IOBFLAG1(WORK4),IOBERR ERP IN PROGRESS 23243 48780020 BC CC8,NOERP BRANCH--NO 23243 48840020 OI SW1,ERPINPRG IND. ERP IN PROGRESS S21021 48900021 NOERP EQU * 23243 48960020 SPACE 1 49140020 ***** DETERMINE FAILING CCW AND MOVE INTO RE AREA 49200020 SPACE 1 49260020 FAILCCW LA LINKREG,IJOBNM SET PCI RTN PTR S21021 49320021 L WORK1,HDWECSW LOAD COMM ADDR FROM CSW A 000E 49380020 LA WORK2,8 DECREMENT CONSTANT 49440020 SR WORK1,WORK2 DECREMENT COMMAND ADDRESS 49500020 FAILCCW1 LA WORK1,0(WORK1) CLEAR HIGH ORDER BYTE 49560020 CL WORK1,CVTMZ00 COMPARE FOR LEGAL ADDRESS 49620020 BC 11,IJOBNM BRANCH-ILLEGAL ADDRESS S21021 49680021 MVC INCCW(M8),AD0(WORK1) MOVE CCW TO RE AREA S21021 49730021 SPACE 1 49800020 ***** GET JOBNAME IN PROPER AREA AND RETURN TO MAINLINE 49860021 SPACE 1 49920020 IJOBNM LA WORK5,IJOBNAME GET JOBNAME POINTER S21021 49980021 BAL LINKREG,RECOMP BRANCH TO GET JOBNAME S21021 50030021 B SERLI BRANCH TO COMPLETE S21021 50040021 EJECT 50280020 *********************************************************************** 50340020 *** *** 50400020 * SETUP PRIOR TO USING SYSTEM FUNCTIONS * 50460020 *** *** 50520020 *********************************************************************** 50580020 SPACE 1 50640020 ***** SET TASKS NON DISPATCHABLE 50700020 SPACE 1 50760020 SYSTEMIO TM CVTDCB,OPTION1 PRIMARY CONTROL PROGRAM 50820020 BC 1,SYSIO1 YES - BYPASS 50880020 L WORK4,CVTHEAD HIGHEST PRIORITY TCB 50940020 B TCBNDAB SKIP MARKING HI TCB 000E 51000020 SYSIO EQU * 000D 51060020 TCBNDA OI NOTDISB(WORK4),NOTDGEN NOT DISP EXT FLD BEING USED000D 51120020 OI NOTDEXT(WORK4),NOTDSER SER TEMP NOT DISP 000D 51180020 TCBNDAB EQU * 000E 51240020 L WORK4,116(WORK4) NEXT TCB - LOWER PRIORITY 51300020 LTR WORK4,WORK4 LAST TCB 51360020 BC 7,SYSIO NO - CONTINUE 51420020 XC NOTDISP(2,TCBREG),NOTDISP(TCBREG) CLEAR ACTIVE TCB 51480020 SYSIO1 OI 29(TCBREG),1 SET PROHIBIT ASYNCH EXIT FLAG 51540020 SPACE 1 51600020 ***** SETUP FOR HARD PURGE (HIO) ON TCB 51660020 SPACE 1 51720020 MVI PURGPARM,X'62' INITIALIZE PURGE PARM LIST 51780020 LA R1,PURGPARM ADDR OF PURGE PARAMETER LIST 51840020 SVC 16 SUPERVISOR CALL TO PURGE 51900020 SPACE 1 51960020 ***** LOOP ON ECB WAITING FOR PURGE POSTING 52020020 SPACE 1 52080020 SSM ZERO DISABLE I/O AND EXT INTERRUPTS 52140020 CLI PURGPARM+4,X'7F' TEST PURGE ECB 52200020 BC 8,SERLA BR--PURGE COMPLETED SUCESSFULLY 52260020 BC 15,SERLI BR--PURGE NOT SUCESSFUL 52320020 EJECT 52380020 SPACE 1 52440020 ***** HALT I/O IN PREPARATION FOR STAND ALONE I/O 52500020 SPACE 1 52560020 SERLI OI IORCC,STANDIO SET STANDALONE I/O FLAG 52680020 OI SW1,SYSTERM IND SYSTEM TERMINATED S21021 52730021 BAL LINKREG,HIO BRANCH TO HALT ALL I/O 52740020 SPACE 1 52800020 SPACE 2 52860020 ***** SETUP FOR READ OF HEADER RECORD 52920020 SPACE 1 52980020 SERLA TM IORCD,HEX40 WAS OBR/SDR IN PROGRESS C 000E 53040020 BO MDALLC YES PUT OUT RE LOST C 000E 53100020 L WORK2,CVTDCB ADDR OF SER DCB C 000E 53160020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 53220020 MVC CCWSKADR(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK AD 53280020 SERLH MVI CCWSKADR+6,1 SET SEARCH ID FIELD TO ONE 53340020 LA WORK3,HDRCCW HEADER CHANNEL PROG ADDRESS 53400020 ST WORK3,IOBSA STORE ADDRESS IN IOB 53460020 MVC IOBSKADR+1(7),CCWSKADR MOVE SEEK ADDRESS TO IOB 53520020 OI IORCD,HEX80 TURN ON READ IN PRGRESS C 000E 53580020 BAL LINKREG,FTCHA BRANCH TO READ HEADER RECORD 53640020 NI IORCD,HEX7F TURN OFFREAD IN PRGRESS C 000E 53700020 SPACE 1 53760020 CLI SFTYBYTS,X'FF' COMPARE SAFETY BYTE IN HEADER 53820020 BC 7,IOFAIL BR--HEADER RECORD INCORRECT 53880020 SPACE 1 53940020 ***** DETERMINE IF ENOUGH BYTES REMAINING ON TRACK 54000020 SPACE 1 54060020 L WORK3,DEBF2(WORK6) LOAD UCB ADDRESS FROM DEB 54120020 XR WORK4,WORK4 CLEAR REGISTER 54180020 IC WORK4,UCBF3B(WORK3) EXTRACT DEVICE TYPE FROM UCB 54240020 SLL WORK4,1 DOUBLE 54300020 LH WORK5,CONIO-2(WORK4) LOAD INB RE DECREMENT CONSTANT 54360020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 54420021 BE SER10 YES - BRANCH S21021 54470021 LH WORK5,CONRE-2(WORK4) LOAD CPU RE DECREMENT CONSTANT 54540020 SER10 LH WORK3,BYTSREM NO. BYTES REMAINING ON TRACK 54600020 SLR WORK3,WORK5 SUB CONST FROM REMAING BYTES 54660020 BC 1,SER13 BR--RE WILL FIT ON TRACK 54720020 SER10A LH WORK3,LASTTTR+4 LOAD LAST USED HEAD POSITION 54780020 LA WORK3,1(WORK3) ADD ONE TO HEAD POSITION 54840020 CLC TRKSPER(M2),LASTTTR+AD4 TEST FOR END OF CYLINDER S21021 54900021 BE SER12 YES - BRANCH S21021 54950021 SER11 STH WORK3,LASTTTR+4 HEAD COUNT TO HEADER RECORD 55140020 MVI LASTTTR+6,0 SET RECORD ENTRY ID TO ZERO 55200020 MVC BYTSREM(2),TRKCAP RESET BYTES REMAINING ON TRACK 55260020 BC 15,SER10 BRANCH FOR ANOTHER PASS 55320020 SER12 XR WORK3,WORK3 CLEAR REGISTER 55380020 LH WORK1,LASTTTR+2 LOAD LAST USED CYLINDER POSIT 55440020 LA WORK1,1(WORK1) UPDATE CYLINDER COUNT 55500020 STH WORK1,LASTTTR+2 STORE UPDATED CYLINDER COUNT 55560020 BC 15,SER11 BRANCH FOR ANOTHER PASS 55620020 SER13 STH WORK3,BYTSREM STORE REMAINING BYTE COUNT 55680020 CLC UPLIMIT(4),LASTTTR+2 COMPARE CCHH WITH EXTENT 55740020 BC 11,SER15 BRANCH--RE AREA IS NOT FULL 55800020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 55860020 BC CC1,ERREXIT2 SET UP FOR SEREP 000D 55920020 MVI PRTIMAGE+AD5,C'C' ERROR CODE 000D 55980020 MVC IMAGE1(M12),IMAGE3 APPENDAGE 000D 56040020 BC CC15,SESF BRANCH TO ABEND MESSAGE 000D 56100020 SER15 BC 8,*+8 BR--EOF HEAD SWITCHING NOT REQ 56160020 OI IORCC,HDSWTCH SET HEAD SWITCH REQUIRED SWIT 56220020 MVC IOBSKADR+1(7),LASTTTR PLACE SEEK ADDR FOLLOWING IOB 56280020 MVC CCWSKADR(7),IOBSKADR+1 MOVE SEARCH AUGUMENT TO BUFFER 56340020 IC WORK5,LASTTTR+6 LOAD ID OF LAST RE WRITTEN 56400020 LA WORK5,1(WORK5) ADD ONE TO ID FIELD 56460020 STC WORK5,LASTTTR+6 UPDATE LAST ID WRITTEN IN HDR 56520020 SER14 OI IORCC,HEADEROK SET HEADER RECORD OK SWITCH 56580020 SPACE 1 56640020 ***** SETUP FOR RECORD ENTRY WRITE 56700020 SPACE 1 56760020 WRITENT LA WORK5,WRTCCW ADDR OF RE WRITE CCW CHAIN 56820020 ST WORK5,IOBSA STORE ADDRESS IN IOB 56880020 MVC CTFLDID(5),LASTTTR+2 SET UP COUNT FIELD ID FOR RE 56940020 CLI CLASSRC,INBSER1 TEST FOR CHAN RECORDING S21021 57000021 BC 7,MDALLA BRANCH--NOT CHANNEL FAILURE 57060020 LA WORK5,112 RE LGH FOR CCW CNT FLD S21021 57120021 LA WORK3,104 RE LGH FOR DATA CNT FLD S21021 57170021 STH WORK5,WRTCCW1+6 SET COUNT IN CCW 57240020 STH WORK3,CTFLDDL SET COUNT IN DATA LENGTH 57300020 MDALLA BAL LINKREG,FTCHA BRANCH TO WRITE RECORD ENTRY 57360020 SPACE 1 57420020 ***** SETUP FOR END OF FILE (EOF) WRITE 57480020 SPACE 1 57540020 TM IORCC,HDSWTCH TEST IF EOF HD SWITCHING REQ 57600020 BC 1,SWITCH BR--HEAD SWITCHING REQUIRED 57660020 MVC CCWSKADR(7),LASTTTR MOVE SEARCH AUGUMENT TO BUFFER 57720020 BC 15,WRTEOF 57780020 SWITCH CLC CCWSKADR(CC7),RESTART IS THIS THE FIRST ENTRY 000E 57840020 BNE NOEOF NO EOF HAS BEEN WRITTEN 000E 57900020 MVC CCWSKADR+M2(K4),UPLIMIT MOVE SEARCH ARG TO BUFF 000E 57960020 MVI CCWSKADR+6,0 SET ID FIELD TO ZERO 58020020 MVC IOBSKADR+3(4),UPLIMIT MOVE SEEK ADDRESS TO IOB 58080020 WRTEOF MVC EOFRECRD(4),IOBSKADR+3 MOVE CCHH TO EOF RECORD 58140020 LA WORK5,EOFCCW ADDR OF EOF WRT CCW CHAIN 58200020 ST WORK5,IOBSA STORE ADDRESS IN IOB 58260020 BAL LINKREG,FTCHA BRANCH TO WRITE END OF FILE 58320020 SPACE 1 58380020 ***** SETUP FOR REWRITE OF THE HEADER RECORD 58440020 ***** TEST FOR 90 PERCENT FULL 58500021 NOEOF TM EWSW,HEX80 TEST FOR EARLY WARNING S21021 58550021 BO NOEWTST YES-BRANCH AROUND S21021 58552021 CLC LASTTTR+AD2(M4),EWMT CCHH EQUAL OR GREATER S21021 58554021 BL NOEWTST BRANCH IF LOWER S21021 58556021 BH SETSW BRANCH IF GREATER S21021 58558021 ***** TEST FOR BYTES REMAINING IF EQUAL S21021 58558421 CLC BYTSREM(M2),EWMC TEST BYTES REMAINING S21021 58558821 BH NOEWTST BRANCH IF HIGHER S21021 58559221 SETSW OI EWSW,HEX80 SET EW SWITCH ON S21021 58559621 OI IORCD,HEX16 SET EW SWITCH S21021 58559721 ***** OUTPUT MESSAGE TO OPERATOR IF STAND ALONE I/O 58559821 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 58559921 BZ NOEWTST NO-DO IT LATER S21021 58579921 ***** DO STAND ALONE I/O FOR MESSAGE 58589921 BAL LINKREG,SAVEMSG GO SAVE MESSAGE S21021 58599921 MSG90 BAL LINKREG,PRINT BRANCH TO PRINT S21021 58606621 MVC PRTIMAGE(M44),CPULOG RESTORE ERROR MESSAGE S21021 58608621 NI IORCD,HEXEF CLEAR EW INDICATOR S21021 58610621 SPACE 1 58613321 NOEWTST LA R5,HDRCCW1 POINT TO CCW LIST S21021 58620021 ST R5,IOBSA STORE IN IOB 58680020 L WORK2,CVTDCB ADDRESS OF SER DCB 58740020 L WORK6,DCBF0(WORK2) ADDRESS OF SER DEB 58800020 MVC CCWSKADR(6),DEBF4(WORK6) MOVE BBCCHH FROM DEB TO SEEK AD 58860020 MVI CCWSKADR+6,1 SET SEARCH ID FIELD TO ONE 58920020 MVC IOBSKADR+1(7),CCWSKADR PLACE SEEK ADDR FOLLOWING IOB 58980020 BAL LINKREG,FTCHA BRANCH TO WRITE HEADER RECORD 59040020 MDALLB OI IORCC,IOCMPLTE SET I/O COMPLETE FLAG 59100020 MVI PRTIMAGE+5,C'B' SET ERROR MESSAGE CODE 59160020 SPACE 1 59220020 ***** DETERMINE HOW TO TERMINATE SYSTEM 59280020 SPACE 1 59340020 MDALLB1 EQU * C 000E 59400020 TM IORCC,SECONDMC TEST IF SECOND MC OCCURED 59460020 BC 1,WAITTERM BRANCH--CANNOT ABEND SYSTEM 59520020 TM IORCC,STANDIO TEST IF STANDALONE I/O USED 59580020 BC 1,ERREXIT1 BRANCH--CANNOT ABEND SYSTEM 59640020 BC 15,SESF BRANCH TO ABEND SETUP ROUTINE 59700020 MDALLC MVC IMAGE1(M14),IMAGE4 SET UP ERROR MSG C 000E 59760020 MVI PRTIMAGE+AD5,CE SET ERROR CODE C 000E 59820020 B MDALLB1 CARRY ON WITH PROCESSING C 000E 59880020 EJECT 59940020 FTCHA OI IORCC,X'08' SET I/O OUTPUT IN PROG FLAG 60000020 ERROR3 NI IOBECB,X'0' CLEAR ECB COMPLETION CODE 60060020 TM IORCC,STANDIO TEST FOR STAND ALONE I/O S21021 60120021 BC 1,IORTN BRANCH--USE STAND ALONE I/O 60180020 LA R1,SERIOB ADDRESS OF IOB 60240020 SSM ENABLE ENABLE ALL CHANNELS 60300020 SPACE 2 60360020 SVC EXCP EXECUTE CHANNEL PROGRAM CALL 60420020 SPACE 2 60480020 ***** LOOP WAITING FOR ECB POSTING BY IOS 60540020 SPACE 1 60600020 TESTECB CLI IOBECB,X'00' CHECK COMPLETION CODE IN ECB 60660020 BC 8,TESTECB LOOP WAITING FOR ECB POSTING 60