* /* START OF SPECIFICATIONS**** 00050000 *01* PROCESSOR = ASSEM; 00060000 **** END OF SPECIFICATIONS ***/ 00070000 TITLE 'AMDSAPRO -- PRECURSOR FOR THE AMDSADMP PROGRAM' 00090002 ********************************************************************** 00270002 * * 00360002 * MODULE: AMDSAPRO * 00450002 * DESCRIPTIVE NAME: PRECURSOR ROUTINE FOR AMDSADMP * 00540002 * LOAD MODULE: AMDSAPRO * 00630002 * COPYRIGHT: NONE * 00720002 * STATUS: VERSION VS2 RELEASE 3.7 @ZA17670* 00770000 * * 00780002 * FUNCTION: THE AMDSAPRO ROUTINE PERFORMS THE THREE BASIC * 00810002 * FUNCTIONS OF (1) LOADING AMDSAHSR AND AMDSAPGE, OR * 00860002 * AMDSALSR, (2) A VTOC SEARCHING FUNCTION AND (3) * 00870002 * WRITING OUT STORAGE LOCATION X'7000' - X'7800' * 00880002 * * 00920002 * OPERATION: THE AMDSAPRO ROUTINE IS LOADED INTO CORE * 00970002 * AT LOCATION X'7800' VIA THE IPL 2 RECORD FOR A * 01020002 * DIRECT ACCESS RESIDENT, VERSION OF AMDSADMP. * 01070000 * THE ROUTINE THEN WRITES OUT THE WORK RECORD FROM * 01120002 * LOCATION X'7000' THEN SEARCHES FOR THE AMDSALSR OR * 01130002 * AMDSAHSR PROGRAM IN SYS1.PAGEDUMP AND READS IT INTO * 01170002 * LOCATION X'7020'. IT ISOLATES THE BOUNDRIES OF THE * 01220002 * WORKFILE DATA SET FOR HSR. UPON COMPLETION OF THE HSR * 01270002 * DUMP PROCESSING, THE PRECURSOR IS AGAIN LOADED INTO * 01320002 * LOCATION X'7800' TO SEARCH FOR AND LOCATE AMDSAPGE IN * 01370002 * SYS1.PAGEDUMP WHICH IT LOADS INTO LOCATION X'8000'. * 01420002 * IT THEN RETURNS CONTROL TO AMDSAHSR FOR EVENTUAL * 01470002 * CONTROL PASSAGE TO AMDSAPGE. * 01520002 * * 01570002 * NOTES: AMDSAHSR MUST ENTER AT ENTRY VIA A BALR 14,15. A * 01620002 * RETURN CODE WILL BE PROVIDED IN REGISTER 15 BY ALL * 01670002 * FUNCTIONS IN THIS ROUTINE PRIOR TO RETURNING TO THE * 01720002 * CALLER VIA A BR 14. AMDSAPRO ISSUES THE FOLLOWING * 01770002 * PRIVLEGED INSTRUCTIONS; SIO,TIO,AND LPSW. AMDSAHSR * 01820002 * MUST SAVE REGISTERS PRIOR TO CALLING AMDSAPRO. * 01870002 * PGERCDCT IS A DECLARED ENTRY INITIALIZED BY AMDSALDR * 01920002 * WITH THE NUMBER OF AMDSAPGE RECORDS WRITTEN INTO * 01970002 * SYS1.PAGEDUMP. * 02020002 * * 02070002 * DEPENDENCIES: THE PROGRAM IS DEPENDENT UPON THE STANDARD * 02120002 * CHARACTER CODE SET, AND CAN BE CORRECTED BY REASSEMBLY.* 02170002 * * 02220002 * REGISTER CONVENTIONS: * 02270002 * R1: ADDRESS OF FORMAT 1 OR FORMAT 4 DSCB OBTAINED. * 02320002 * R2: BASE REGISTER CONTAINING REAL STORAGE ADDRESS * 02370002 * X'7000' FOR CCT ADDRESSABILITY. * 02420002 * R5: ADDRESS OF MESSAGE INPUT AREA. * 02470002 * R6: ADDRESS OF MESSAGE OUTPUT AREA. * 02520002 * R10: ADDRESS OF DEVICE FOR I/O OPERATIONS. * 02570002 * R11: ADDRESS OF CCW TO BE EXECUTED. * 02620002 * R12: BASE REGISTER. * 02670002 * R13: RETURN REGISTER FOR DUMPSIO ROUTINE. * 02720002 * R14: LINKAGE RETURN REGISTER. * 02770002 * R15: RETURN CODE REGISTER. * 02820002 * * 02870002 * PATCH LABEL: PROPATCH * 02920002 * * 02970002 * MODULE TYPE: ASSEMBLY LANGUAGE * 03020002 * * 03070002 * MODULE SIZE: 2K * 03120002 * * 03170002 * ATTRIBUTES: PRIVILEGED, DISABLED, STAND-ALONE PROGRAM. * 03220002 * * 03270002 * ENTRY POINT: AMDSAPRO * 03320002 * * 03370002 * LINKAGE: R14 LOADED WITH RETURN ADDRESS * 03420002 * R15 LOADED WITH ENTRY POINT * 03470002 * R15 CONTAINS A RETURN CODE ON EXIT * 03520002 * * 03570002 * INPUT: LOCATION X'B8' WILL BE NON ZERO TO INDICATE ENTRY * 03620002 * FROM IPL, IT WILL BE SET TO ZERO TO INDICATE ENTRY * 03670002 * FROM AMDSAHSR. * 03720002 * * 03770002 * OUTPUT: REQUESTED ROUTINE LOADED INTO STORAGE * 03820002 * * 03870002 * EXIT, NORMAL: AMDSAHSR OR AMDSALSR, WITH RETURN CODE = 0. * 03920002 * * 03970002 * EXIT, ERROR: WAIT STATE CODE = 4 -UNABLE TO LOCATE SYS1.PAGEDUMP * 04020000 * WAIT STATE CODE = 8 - UNABLE TO LOAD AMDSAHSR OR * 04030002 * AMDSALSR * 04032002 * WAIT STATE CODE = C - INTERVENTION REQUIRED ON THE * 04040002 * IPL DEVICE * 04042002 * * 04044002 * TO AMDSAHSR- RC=4, I/O ERROR OCCURRED WHILE * 04046002 * TRYING TO LOAD AMDSAPGE INTO CORE. * 04048002 * * 04048402 * EXTERNAL REFERENCES: AMDSAHSR, AND AMDSALSR * 04048802 * * 04049202 * ROUTINES: CONSOLE - TO OUTPUT INTV REQ MESSAGE * 04049602 * * 04049702 * DATA SETS: SYS1.PAGEDUMP * 04049802 * * 04049902 * DATA AREAS: COMMON CONTROL TABLE (CCT) LOCATED AT LOCATION * 04079902 * X'7000' * 04089902 * * 04099902 * TABLES: NONE * 04109902 * * 04119902 * MACROS: NONE * 04129902 * * 04133202 * CONTROL BLOCKS: * 04135202 * NAME PURPOSE USE * 04135602 * * 04136002 * CTERROR CALLER PROCESS ERROR RECOVERY SET * 04136402 * CTDEVTYP 06-2305-1, 07-2305-2, * 04136502 * 09-3330, 08-2314, 0D,3330-1 * 04136602 * 0A-3340, 0B-3350 SET @Z30RSTA* 04159900 * CTSENSE SENSE INFORMATION AREA SET * 04169902 * CTINADDR IPL DEVICE ADDRESS SET * 04179902 * CTCCHHS STARTING CCHH OF SYS1.PAGEDUMP SET * 04181902 * CTCCHHE ENDING CCHH OF SYS1.PAGEDUMP SET * 04182302 * CTERBDA DIRECT ACCESS ERROR RECOVERY SET * 04182702 * CTCONSOL REAL ADDRESS OF CONSOLE ROUTINE REF * 04183102 * CTWAIT WAIT STATE CODE SET * 04183202 * CTBRANCH PASS CONTROL TO AMDSAHSR REF * 04183302 * CTCCHHR IPL CCHHR SET * 04191102 * CTCCHHW START OF WKFILE SET * 04193102 * * 04195102 * MESSAGES: AMD014A - INTV REQ IPL DEV - USED IF INTERVENTION * 04197102 * IS REQUIRED ON THE IPL DEVICE WHILE LOADING * 04197502 * AMDSAPGE * 04197902 * * 04198902 * * 04200902 * CHANGE - ACTIVITY = * 04202902 * A000000-999999 Y02006* 04204902 * C788710,788722 @YM04500* 04205302 * C112276 @YM05130* 04205402 * C112823 @YM05130* 04205502 * C114688 @YM05130* 04205602 * C117188 @YM05130* 04205702 * C303300 @YM05130* 04205802 * C786700 @YM05130* 04205902 * A000500,000600,000700,065800-068403,111242,112404-113137 @Z30RSTA* 04206304 * A666864,788752,788772,788766,788780,788993 @Z30RSTA* 04206404 * C041599,045900,088300,787000,871700 @Z30RSTA* 04206504 * D065800-067986,112404-113076,789220 @Z30RSTA* 04206604 *C111106,C007700 @ZA13017* 04206730 * A310500,C007700,C871700 @ZA17670* 04208700 ********************************************************************** 04211730 SPACE 04216702 */*AMDSAPRO: CHART (SEQ) */ 04230002 */* HEADER 04320002 */* CHART AA 04410002 */*ROUTINE (AMDSAPRO) 04500002 */*DATE: MARCH 11, 1975 @Z30RSTA 04590000 */*PAGE # */ 04680002 */*AMDSAPRO: E PRECURSOR ENTRY POINT */ 04770002 */* P STORE REGS 12&13 IN LOC '8' */ 04772002 */* P SET UP ADDRESSABILITY */ 04774002 */* P IPLENTSW = 1 */ 04774102 */* D (YES,%B1,NO,AMDSAPIO) IPL ENTRY */ 04774402 */*%B1: P IPLENTSW = 0 */ 04775202 */* P STORE REGS 0-15 IN TEMP SAVE AREA */ 04776002 */* P STORE REGS 12 & 13 IN TEMP SAVE AREA FROM LOC '8' */ 04778002 */* P SET UP MIN CCT */ 04778102 */* P COMPARE TEMP SAVE AREA AND STORE STATUS AREA REGS */ 04778402 */* D (YES,%A38,NO,) REGS EQUAL ? */ 04778802 */* P SET CTNOSTAT ON */ 04779202 */* P MOVE TEMP SAVE AREA REGS INTO STORE STATUS AREA */ 04779602 */*%A38: P MOVE IPL ADDR INTO CTINADDR */ 04787702 */* P (,AMDSAPIO) SAVE IPL2 CCHHR IN CTCCHHR */ 04797702 */*%G1: D (YES,%A16,NO,) IPL ENTRY ? */ 06530002 */* P INIT RD1 TO X'8000' */ @Z30RSTA 06580000 */* D (YES,,NO,%G2) 1 RCD PER TRK */ @Z30RSTA 06640000 */* S (,%G3) EOC: BUMP CCHH BY 1 */ @Z30RSTA 06690000 */*%G2: P SET R TO 2 TO SKIP HSR */ @Z30RSTA 06740000 */*%G3: P SET CTL TIC TO READ */ @Z30RSTA 06790000 */*%G5: S DUMPSIO: READ RCD IN */ @Z30RSTA 06800000 */* D (NO,,YES,ERRMSG1) I/O ERROR */ @Z30RSTA 06800400 */* P DECREASE # RCDS BY 1 */ @Z30RSTA 06800500 */* D (YES,,NO,%A18) MORE RCDS */ @Z30RSTA 06802400 */* P BUMP INPUT @ BY X'1800' */ @Z30RSTA 06802800 */* P INCREMENT R BY 1 */ @Z30RSTA 06803600 */* P DECREASE # RCDS/TRK BY 1 */ @Z30RSTA 06804000 */* D (YES,%G5,NO,) MORE RCDS ON TRK */ @Z30RSTA 06804100 */* P SET R TO 1 */ @Z30RSTA 06804200 */* S (,%G5) EOC: BUMP CCHH BY 1 */ @Z30RSTA 06804300 */* E EOC */ 06804402 */* P BUMP HH BY 1 */ 06806302 */* P OBTAIN DEV TYPE */ 06808202 */* D (NO,%G4,YES,) HH> MAX FOR DEV TYPE */ 06810102 */* P BUMP CC BY 1 */ 06812002 */* P ZERO HH */ 06813902 */*%G4: P RESTORE CCHH */ 06815802 */* R RETURN */ 06817702 */*%A18: P SET UP INTERFACE TO AMDSAPGE */ 06819602 */* R AMDSAPGE VIA 'RETURN' */ 06821502 */*%A16: P ZERO REGS 6 AND 7 */ 06823402 */* P GET PGERCDCT INTO REG7 */ 06825302 */* P LOAD DEV ADDR FROM TABLE */ 06827202 */* P LOAD RCDS PER TRK INTO REG 5 */ 06829102 */* P DIVIDE PGERCDCT BY RCDS PER TRK */ 06831002 */* P ADD HH OF CTCCHHS */ 06832902 */* P INCREMENT BY 1 */ 06834802 */* P LOAD TRK PER CYL INTO REG 5 */ 06836702 */* P DIVIDE COUNT BY CYL NUMBER */ 06838602 */*P ADD CC OF CTCCHHS TO CYL CT */ 06840502 */* P STORE HH IN CTCCHHW */ 06842402 */* P STORE CC IN CTCCHHW */ 06844302 */* P INDICATE SEARCH FOR RCD 1 */ 06846202 */* P SET UP TO READ HSR INTO LOC X'7000' (TIC TO SECOND READ) */ 06848102 */* P SET UP FOR READ OF HSR */ 06850002 */* S DUMPSIO: READ IN RCD */ 06860002 */* D (YES,%A20,NO,) I/O ERROR */ 06862002 */* P SET UP INTERFACE TO HSR */ 06864002 */* R HSR VIA 'RETURN' */ 06866002 */*%A20: P SET UP WAIT STATE CODE = 8 */ 06868002 */* R WAIT STATE */ 06868402 */*ERRMSG1: D (NO,%A13,YES,) IPL ENTRY */ 06868802 */* P SET UP WAIT STATE CODE = 4 */ 06869202 */* R WAIT STATE */ 06869602 */*%A13: P RC = 4 */ 06870002 */* R RETURN */ 06920002 */*AMDSAPIO: P SET UP FOR READ OF CCHHR */ 07470002 */* P SET UP FOR LENGTH OF VOL LBL */ 07720002 */* P SET UP I.O OPERATION */ 07820002 */* D (YES,%F1,NO,) IPL ENTRY ? */ 07830002 */* P (,%F2) INPUT ADDRESS = X'1000' */ 07840002 */*%F1: P INPUT ADDRESS = X'7400' */ 07850002 */*%F2: S DUMPSIO: READ LABEL */ 07870002 */* D (YES,ERRMSG1,NO,) I/O ERROR */ 07920002 */* D (YES,VOLOK,NO,ERRMSG1) IBM LABEL ? */ 07970002 */*VOLOK: P SAVE EXTENT OF VTOC IN CTCCHHS */ 08130002 */* D (YES,%F3,NO,) HSR ENTRY ? */ 08180002 */* P (,%F4) INPUT ADDRESS = X'7500' */ 08190002 */*%F3: P INPUT ADDRESS = X'1000' */ 08200002 */*%F4: P SET UP TO GET FORMAT 4 */ 08220002 */* P CREATE DSN OF 44 X'04'S */ 08270002 */* P SET UP TO SEEK */ 08320002 */* S DUMPSIO: READ IN FORMAT 4 DSCB */ 08370002 */* D (NO,%A35,YES,ERRMSG1) I/O ERROR */ 08420002 */*%A35: P END OF VTOC SAVED IN CTCCHHE */ 08520002 */* P SET UP TABLE LENGTH */ 08620002 */*%A28: D (NO,%A29,YES,ERRMSG1) END OF TABLE */ 08670002 */*%A29: D (YES,%A31,NO,) PROPER DEVICE */ 08770002 */* P (,%A28) BUMP TABLE CTR BY 1 */ 08820002 */*%A31: P MOVE IN DEVICE TYPE & RECS/TRK */ @Z30RSTA 08830000 */* P BLANK OUT DATA SET AREA */ 08850002 */* P SET UP SYS1.PAGEDUMP */ 08860002 */* S DUMPSIO: SEARCH ON DS NAME */ 08862002 */* D (NO,%A32,YES,ERRMSG1) I/O ERROR */ 08864002 */*%A32: P (,%G1) MOVE HIGH AND LO EXTENTS INTO CTCCHHS & CTCCHHE */ 08868802 */* E DUMPSIO */ 08896602 */*%A26: D (NO,%A21,YES,) DEV AVAIL ? */ 08897602 */*%A22: P SET UP CAW */ 08898002 */* P PERFORM I/O */ 08898402 */*%A24: P TIO LOOP UNTIL CSW STORED */ 08898802 */* D (YES,%A25,NO,) CHAN ERROR */ 08899202 */* D (YES,%A25,NO,) UNIT CHECK */ 08899302 */* D (NO,%A24,YES,) DEV END */ 08899402 */* D (YES,,NO,%B2) SENSE CMD ? */ 08899502 */* P ZERO ERB */ 08899602 */*%B2: P RC = 0 */ 08900002 */* R RETURN */ 08900202 */*%A21: D (NO,%A26,YES,) UNIT CHECK */ 08900602 */* D (YES,%A22,NO,) SENSE CMD */ 08901002 */* P OBTAIN CCW + 8 */ 08901402 */*%A25: D (NO,TESTERR,YES,) CTERROR = 1 */ 08901802 */* P ZERO CTERROR */ 08901902 */* R RETURN */ 08902002 */*TESTERR: P SET UP DA ERB */ 08952302 */* P SAVE CSW */ 08952702 */* P SAVE CCW */ 08960602 */* D (NO,%A42,YES,EXITCODE) CAT CHAN ERROR */ 08962602 */*%A41: R RETURN */ 08967402 */*%A42: D (YES,UNITSENS,NO,) UNIT CHECK */ 08967802 */* D (NO,EXITCODE,YES,) CHAIN CHECK */ 08968202 */*%G99: D (YES,CHAINR,NO,) ERB SET UP */ 08968302 */* P (,CHAINR) SET UP ERB FOR 10 RETRIES */ 08968402 */*UNITSENS: P ZERO SENSE AREA */ 08976302 */* P SET UP SENSE CCW */ 08978302 */* S DUMPSIO: */ 08982702 */* D (YES,EXITCODE,NO,%A51) I/O ERROR */ 08983102 */*CHAINR: P STORE ERB */ 08983502 */* P SET UP FOR MAX RETRY COUNT */ 08983902 */* P MAX CT = MAX CT - 1 */ 08984002 */* D (NO,ERBPRIME,YES,) MAX CT = 0 */ 08984102 */*EXITCODE: P (,%A41) RC = 4 */ 09005202 */*ERBPRIME: P STORE ERB RETRY */ 09015202 */* P SET UP PRIMARY RETRY */ 09025202 */* P PRIM = PRIM - 1 */ 09025602 */* D (YES,EXITCODE,NO,) PRIME = 0 */ 09026002 */* P STORE PRIMARY */ 09026402 */* R DUMPSIO */ 09026502 */*%A51: D (YES,ERRACT1R,NO,) EQUIP CHECK */ 09026602 */* D (NO,%A53,YES,EXITCODE) NO REC FOUND */ 09033602 */*%A53: D (NO,%A54,YES,%G99) SEEK CHECK */ 09039602 */* ERRACT1R: D (YES,CHAINR,NO,) RETRY IN PROGRESS */ 09040002 */*%A96: P (,CHAINR) SET UP RETRY CTR FOR 1 RETRY */ 09040402 */*%A54: D (YES,%A57,NO,) INTV REQ */ 09040502 */* D (NO,%A61,YES,ERRACT1R) BUS CHECK */ 09040602 */*%A57: D (NO,%A30,YES,) IPLENTSW = 0 */ 09048202 */* P SET INTV REQ WAIT CODE X'OC' */ 09048602 */* R LPSW */ 09049002 */*%A30: D (YES,%A59,NO,%A96) RETRY IN PROGRESS */ 09049702 */*%A59: P SET UP TO WRITE INTERVENTION REQ MESSAGE */ 09054802 */* P GET MSG @ AND LENGTH */ 09061802 */* S CONSOLE: */ 09063802 */* D (YES,EXITCODE,NO,) I/O ERROR */ 09065802 */* P TIO LOOP */ 09067802 */* P RESTORE I/O OPERATION */ 09068202 */* R DUMPSIO */ 09068302 */*%A61: D (NO,%A63,YES,) DATA CHECK */ 09068602 */*%A62: P SET UP CCW */ 09068702 */* D (YES,CHAINR,NO,) RETRY IN PROGRESS */ 09068802 */* P (,CHAINR) INIT FOR 16 RETRIES */ 09068902 */*%A63: D (YES,%A62,NO,) OVERRUN */ 09087402 */* D (YES,%A62,NO,) MISSING ADDR MARKER */ 09097402 */* D (YES,EXITCODE,NO,) CMD REJECT */ 09099402 */* D (NO,%A89,YES,) TRK CHECK */ 09101402 */* P ZERO OUT SENSE AREA */ 09103402 */* D (YES,%A68,NO,) RETRY IN PROGRESS */ 09105402 */* P SET UP 256 MAX RETRIES */ 09105802 */*%A68: P CT = CT - 1 */ 09105902 */* D (NO,ERBOK1,YES,EXITCODE) CTR = 0 */ 09106002 */*ERBOK1: P SET UP ERROR CTR */ 09114102 */* P SAVE ORIGINAL CCHHR */ 09114202 */* P SET UP TO HANDLE OWN ERRORS */ 09114502 */* P SET UP TO GET ALT TRK */ 09116102 */* S DUMPSIO: READ R0 */ 09118102 */* D (NO,,YES,EXITCODE) I/O ERROR */ 09118202 */*%A37: D (YES,%A80,NO,EXITCODE) DEF TRK */ 09149002 */*%A80: S DUMPSIO: READ INPUT FROM ALT TRK */ 09153002 */* D (YES,EXITCODE,NO,) I/O ERROR */ 09155002 */* P RESTORE ORIGINAL CCHHR */ 09155402 */* P CTERROR = 0 */ 09155702 */* R RETURN */ 09155902 */*%A89: D (N0,EXITCODE,YES,) END OF CYL */ 09190902 */*%A94: P BUMP CC BY 1 */ 09192102 */* P SET UP SEEK @ */ 09192202 */* P ZERO HH FIELD */ 09192302 */* D (NO,%A95,YES,) VTOC SEARCH */ 09192402 */* D (YES,EXITCODE,NO,) OVER VTOC LIMIT */ 09197602 */*%A95: P RESTORE CHAN PGM */ 09199602 */* R DUMPSIO */ 09201602 */*AMDSAPRO: END */ 09202802 SPACE 09208002 SPACE 09223502 ********************************************************************* 09239002 * * 09254502 * THIS IS THE ENTRY POINT TO THE PRECURSOR ROUTINE. THIS * 09270002 * ENTRY POINT IS USED FOR ALL ENTRIES INTO THIS ROUTINE. * 09360002 * * 09990002 ********************************************************************* 10080002 SPACE 10170002 AMDSAPRO CSECT 10440002 ENTRY PGERCDCT 10490002 * 10530002 * PRECURSOR COMMON INTERFACE ROUTINE ENTRY POINT 10620002 * 10710002 RDCOUNT CCW X'12',COUNTFLD,X'60',8 10760002 RDHOMEAD CCW X'1A',COUNTFLD,X'70',5 10770002 IDEQSRCH CCW X'31',COUNTFLD,X'60',5 10780002 CCW X'08',IDEQSRCH,X'60',1 10790002 CCW X'05',X'7000',X'20',X'800' 10792002 COUNTFLD DC 2F'0' 10794002 STM BASEREG,RETREG,HISAVE SAVE REGS 12&13 IN LOC 8 10800002 BALR BASEREG,0 SET UP ADDRESSABILITY 10810002 USING *,BASEREG 10820002 OI SWITCHES,IPLENTSW SET IPLENTSW = 1 FOR HSR ENTRY 10822002 CLC IPLDEVAD(K2),REALENT COMPARE FOR REAL ENTRY 10830002 BE AMDSAPIO SKIP STR STAT FOR REAL ENTRY 10840002 MVI SWITCHES,HEX00 ZERO IPLENTSW FOR IPL ENTRY 10842002 STM SAVREG,HIREG,REGSAVE STORE REGS 14-11 IN SAVE AREA 10844002 MVC REGSAVE+48(8),HISAVE MOVE REGS 12&13 INTO SAVE AREA 10846002 USING CCT,CCTREG SET UP ADDRESSABILITY FOR CCT 10848002 LH CCTREG,HEX7000 AT LOCATION X'7000' 10848402 XC K0(CTBRANCH-CCT,CCTREG),K0(CCTREG) ZERO OUT MIN CCT 10848502 CLC REGSAVE(64),GPRLOC COMPARE STR STAT & SAVED REGS 10848802 BE STATDONE STORE STATUS WAS DONE 10849602 OI CTFLG2,CTNOSTAT TURN ON NO STORE STAT DONE FLG 10849702 MVC GPRLOC(64),REGSAVE MOVE REGS INTO STR STAT AREA 10849802 STATDONE DS 0H 10853202 MVC CTINADDR(2),IPLDEVAD MOVE IPL DEV ADDR INTO CCT 10855202 MVC CTCCHHR(7),CCHHRLOC SAVE IPL2 CCHHR 10855602 MVC CTPGECNT(K1),PGERCDCT OBTAIN NUMBER OF RCDS IN PGE 10856002 SPACE 10856702 ********************************************************************* 10860002 * * 10870002 * THIS IS THE PRECURSOR I/O DATA SET SEARCHING ROUTINE * 10880002 * * 10882002 ********************************************************************* 10884002 SPACE 10886002 AMDSAPIO DS 0H PRECURSOR SEARCH ROUTINE 10888002 LH CCTREG,HEX7000 INSURE ADDRESSABILITY FOR CCT 10888102 ST CREG,CREGSAVE SAVE CREG 10888202 NI SEARCH2,HEX7F TURN OFF MULTI-TRK SRCH 10888902 LH IODEVREG,CTINADDR PICK UP DEVICE ADDR FOR SRCH 10889102 XC SEEKADDR(8),SEEKADDR ZERO OUT SEEK AREA 10889502 MVI SRCHADDR+4,3 SET UP FOR SEARCH OF RCD 10889702 MVI SEARCH2+K7,K5 MOVE IN SEARCH LENGTH 10889802 MVI READ1A+7,LBLNGTH MOVE LBL LNGTH INTO READ 10889902 TM SWITCHES,IPLENTSW TEST FOR HSR ENTRY 10897302 BZ INPUTIPL IPL ENTRY INPUT AREA LOC 7400 10899302 L VOLREG,INPUT READ INTO LOC X'1000' 10901302 MVC READ1A+1(3),INPUT+1 LABEL LOCATION 10912402 B SAPIO2 BRANCH TO START I/O 10918402 INPUTIPL DS 0H 10918802 L VOLREG,IPLINPUT READ INTO LOC X'7400' 10919202 MVC READ1A+1(3),IPLINPUT+1 LABEL LOCATION 10919602 SAPIO2 DS 0H 10919702 LA CCWREG,READ1A LOAD ADDR OF 2ND READ 10919802 STCM CCWREG,HEX7,TIC4A+1 STORE THE ADDR IN CTL TIC 10919902 LA CCWREG,SEEK2 SET UP FOR SEEK, SEARCH, READ 10926602 BAL RETREG,DUMPSIO READ IN VOL LABEL 10929902 LTR RETCODE,RETCODE SUCCESSFUL READ? 10939902 BNZ ERRMSG1 CHECK ENTRY TYPE 10969902 SPACE 10973202 ********************************************************************* 10975202 * * 10975602 * THIS SECTION SETS UP FOR DATA SET PROCESSING-VERIFY IBM VOLUME * 10976002 * * 10976402 ********************************************************************* 10976502 SPACE 10976602 DATASET DS 0H VERIFY IBM VOLUME 10999902 USING VOLABEL,VOLREG SET UP ADDRESSABILITY FOR LBL 11009902 CLC VOLAB1(4),IBMVOL CHECK FOR IBM LABEL 11019902 BNE ERRMSG1 CHECK ENTRY TYPE 11022702 VOLOK DS 0H SET UP FOR DS READ 11023102 MVC SEEKADDR+2(5),VOLVTOC SET UP CCHHR 11023302 MVC CTCCHHS(4),VOLVTOC MOVE CCHH INTO CCT 11025402 SPACE 11031102 ********************************************************************* 11033102 * * 11035102 * THIS SECTION SETS UP THE CCT FOR THE DS FOUND. * 11037102 * * 11037502 ********************************************************************* 11037902 SPACE 11038302 FORMAT1 DS 0H EXAMINE FORMAT 4 DSCB 11038702 OI SEARCH2,HEX80 TURN ON MULTI TRK SRCH 11039302 MVI SEARCH2+K7,K44 MOVE IN LNGTH OF 44 11040102 TM SWITCHES,IPLENTSW TEST FOR HSR ENTRY 11040902 BO SAPIO3 11042902 LH ADDREG,IPLWORK GET WORK AREA ADDR 11043302 MVC READ1A+1(3),IPLINPUT+1 MOVE IN INPUT ADDR 11045702 B SAPIO4 SKIP HSR PROCESSING 11046602 SAPIO3 DS 0H 11047202 LA ADDREG,WORKAREA MOVE IN WORK AREA ADDR 11049202 MVC READ1A+1(3),INPUT+1 MOVE IN INPUT ADDR 11052602 SAPIO4 DS 0H 11052802 MVI SEARCH2,HEXA9 SET FOR KEY SEARCH 11052902 MVI K0(ADDREG),FM04 SET UP TO GET FORMAT 4 11053002 MVC K1(43,ADDREG),K0(ADDREG) MOVE 04 INTO DS SRCH NME 11053102 LA CCWREG,READ1A GET ADDR OF READ 2 11053202 STCM CCWREG,HEX7,TIC4A+1 SET CTL TIC TO READ 2 11053402 LA CCWREG,SEEK2 SET UP TO SEEK FORMAT 4 11053802 STCM ADDREG,HEX7,SEARCH2+K1 SET UP SEARCH ADDRESS 11053902 BAL RETREG,DUMPSIO READ IN FORMAT 4 DSCB 11054002 LTR RETCODE,RETCODE I/O ERROR? 11054202 BNZ ERRMSG1 CHECK ENTRY TYPE 11075402 DEVTYPE DS 0H DEVICE TYPE TABLE CHECKER 11085402 USING DSCBF4,VOLREG SET UP ADDRESSABILITY FOR DSCB 11095402 MVC CTCCHHE(4),DSCB4HI MOVE LIMITS INTO CCT 11095902 LA WORKREG1,TABLNG SET UP TABLE LENGTH 11103602 DEVLOOP DS 0H LOOP TO FIND DEVICE TYPE 11105602 TM 0(WORKREG1),ENDTAB END OF TABLE 11107602 BO ERRMSG1 CHECK ENTRY TYPE 11110402 DEVCOMP DS 0H DETERMINE DEVICE TYPE 11110502 CLC 2(2,WORKREG1),DSCB4TRK+2 PROPER DEVICE? @ZA13017 11110630 BE DEVOK YES, MOVE IN DEVICE TYPE 11110702 LA WORKREG1,8(WORKREG1) BUMP UP TABLE COUNTER 11117702 B DEVLOOP CONTINUE SEARCH 11121702 DEVOK DS 0H DEVICE IS VALID 11123702 ST WORKREG1,DEVSAVE SAVE DEV TYPE PTR 11123802 MVC CTDEVTYP(1),5(WORKREG1) MOVE IN DEVICE TYPE 11124102 MVC DEVRTRK(1),7(WORKREG1) MOVE IN RCDS/TRK @Z30RSTA 11124200 SPACE 11124402 ********************************************************************* 11125302 * * 11125602 * THIS SECTION SEARCHES ON DSNAME SYS1.PAGEDUMP * 11125902 * * 11126202 ********************************************************************* 11126502 SPACE 11126802 DSIN DS 0H DATA SET IS VALID 11127102 TM SWITCHES,IPLENTSW CHECK IF HSR ENTRY 11127402 BO SAPIO5 11127702 LH ADDREG,IPLWORK GET WORK AREA ADDR 11127902 B SAPIO6 11128002 SAPIO5 DS 0H 11168202 LA ADDREG,WORKAREA GET WORK AREA ADDRESS 11168602 SAPIO6 DS 0H 11168702 MVI K0(ADDREG),BLANK SET UP FOR 44 CHAR DS NAME 11169002 MVC K1(43,ADDREG),K0(ADDREG) BLANK OUT ENTIRE AREA 11169402 MVC K0(13,ADDREG),SYS1 SET UP NAME SYS1 11169802 OI SWITCHES,VTOCSW SET ON VTOC SRCH SW 11172202 BAL RETREG,DUMPSIO DO I/O SEARCH ON NAME 11172602 LTR RETCODE,RETCODE I/O ERROR ? 11173402 BNZ ERRMSG1 CHECK ENTRY TYPE 11175402 DSISOK DS 0H 11175802 NI SWITCHES,HEXFF-VTOCSW TURN OFF VTOC SRCH 11175902 USING DSCBF1,VOLREG 11176002 MVC CTCCHHS(8),DSCBLOW1 MOVE IN HI AND LO EXTENTS 11182102 MVC SEEKADDR+2(4),CTCCHHS MOVE IN STARTING CCHH 11184102 NI SEARCH2,HEX7F TURN OFF MULTI-TRK SRCH 11186502 LA CCWREG,SRCHADDR GET SEARCH ADDRESS 11186902 STCM CCWREG,HEX7,SEARCH2+K1 PLACE IT IN SEARCH 11187302 MVI SEARCH2+K7,HEX05 SET UP SEARCH LNGTH 11188002 MVI SEARCH2,HEX31 SET FOR ID SEARCH 11197902 TM SWITCHES,IPLENTSW CHECK IF HSR ENTRY 11208102 BO PGERCD SKIP IPL PROCESSING 11218002 *********************************************************************** 11218402 * * 11218802 * THIS SECTION INITIALIZES CTCCHHW IF ENTRY IS VIA IPL * 11219202 * * 11219602 *********************************************************************** 11219702 SR OUTREG,OUTREG ZERO OUT REG 6 11220002 SR EOCREG,EOCREG ZERO OUT REG 7 11222002 IC EOCREG,PGERCDCT GET NUM OF RCDS IN PGE 11224002 L WORKREG1,DEVSAVE GET DEVICE TYPE ADDR 11226002 LH INREG,6(WORKREG1) GET RCD PER TRK COUNT 11226402 DR OUTREG,INREG OBTAIN CYL AND RCD COUNT 11226802 AH EOCREG,CTCCHHS+2 BUMP CCHH BY STARTING CCHH 11227202 AH EOCREG,ONE BUMP BY 1 TO POSITION CCHH @YM05130 11227602 SR OUTREG,OUTREG ZERO OUT REG 6 11227702 LH INREG,2(WORKREG1) GET TRKS PER CYL COUNT 11227802 DR OUTREG,INREG GET NUMBER OF TRKS IN PGE 11229002 AH EOCREG,CTCCHHS BUMP BY START OF CCHH 11231002 STH EOCREG,CTCCHHW STORE CYL OF WORK FILE 11231402 STH OUTREG,CTCCHHW+2 STORE HH OF WORK FILE 11231802 B HSRRCD GO READ IN HSR 11232202 SPACE 11232802 ********************************************************************* 11234002 * * 11235202 * THIS SECTION READS IN AMDSAPGE IF ENTRY IS VIA HSR * 11236402 * * 11237602 ********************************************************************* 11238802 SPACE 11240002 PGERCD DS 0H @Z30RSTA 11240400 LH CCWREG,RCDLNGTH RCD LENGTH - X'1800' @Z30RSTA 11241200 STH CCWREG,READ1+K6 STORE IT IN READ 1 @Z30RSTA 11242400 ICM CCWREG,HEX3,PGELOCS INPUT ADDR FOR PGE @Z30RSTA 11244800 STCM CCWREG,HEX7,READ1+K1 PGE LOCATED AT X'8000' @Z30RSTA 11248400 SR RCDCTREG,RCDCTREG ZERO CT REG @Z30RSTA 11249600 IC RCDCTREG,PGERCDCT SET UP FOR # OF RCDS @Z30RSTA 11250800 SR RTRKREG,RTRKREG ZERO REC/TRK CT @Z30RSTA 11252800 IC RTRKREG,DEVRTRK RECS/TRK FOR DEVICE @Z30RSTA 11254800 CLI DEVRTRK,HEX01 ONE REC/TRK @Z30RSTA 11256800 BNE GT1 MORE THAN 1 REC/TRK @Z30RSTA 11258800 BAL RETREG,EOC GO BUMP CCHH BY 1 TO PASS HSR 11258902 B RCDINIT @Z30RSTA 11259300 GT1 DS 0H @Z30RSTA 11269300 MVI SEEKADDR+6,HEX02 SET R TO TWO @Z30RSTA 11279300 BCTR RTRKREG,0 DEC RECS ON TRK BY 1 @Z30RSTA 11289300 RCDINIT DS 0H @Z30RSTA 11291300 LA CCWREG,READ1 READ ADDRESS @Z30RSTA 11291700 STCM CCWREG,HEX7,TIC4A+K1 @Z30RSTA 11293300 RCDLOOP DS 0H @Z30RSTA 11299300 LA CCWREG,SEEK2 SET UP CHAN PGM @Z30RSTA 11303300 BAL RETREG,DUMPSIO GO READ IN REC @Z30RSTA 11305300 LTR RETCODE,RETCODE I/O ERROR @Z30RSTA 11307300 BNZ ERRMSG1 ERROR CODE EXIT @Z30RSTA 11307700 BCT RCDCTREG,MORERCD DEC PGE RECS BY 1 @Z30RSTA 11307800 B PGEISIN PGE LOADED @Z30RSTA 11307900 MORERCD DS 0H @Z30RSTA 11309100 ICM CCWREG,HEX7,READ1+K1 ADDR OF PREV READ @Z30RSTA 11311100 AH CCWREG,RCDLNGTH BUMP BY X'1800' @Z30RSTA 11311400 STCM CCWREG,HEX7,READ1+K1 NEW INPUT ADDR @Z30RSTA 11311800 SR WORKREG1,WORKREG1 INCREMENT R FOR REC @Z30RSTA 11311900 IC WORKREG1,SEEKADDR+6 @Z30RSTA 11312200 AH WORKREG1,ONE @Z30RSTA 11312600 STC WORKREG1,SEEKADDR+6 @Z30RSTA 11312700 BCT RTRKREG,RCDLOOP DEC RECS ON TRK BY 1 @Z30RSTA 11312800 MVI SEEKADDR+6,HEX01 SET R TO ONE @Z30RSTA 11313100 IC RTRKREG,DEVRTRK RECS/TRK FOR DEV @Z30RSTA 11313500 BAL RETREG,EOC GO BUMP CCHH @Z30RSTA 11313600 B RCDLOOP @Z30RSTA 11313700 PGEISIN DS 0H 11313800 L CREG,CREGSAVE SET UP ADDR OF PGE AND 11314100 SR RETCODE,RETCODE ZERO RETURN CODE 11314400 BR CREG GO BACK TO HSR 11314802 SPACE 11316002 ********************************************************************* 11317202 * * 11318402 * THIS SECTION CHECKS THE TYPE OF ENTRY ON AN ERROR CONDITION 11319602 * AND TAKES APPROPRIATE ACTION * 11320802 * * 11322002 ********************************************************************* 11323202 SPACE 11324402 ERRMSG1 DS 0H 11325602 TM SWITCHES,IPLENTSW CHECK FOR HSR ENTRY 11326802 BO ERRTN SET ERROR RC 11328002 MVI CTWAIT,HEXFE SET WAIT STATE CODE = FE 11329202 B WAITSTAT GO LOAD WAIT STATE 11330402 ERRTN DS 0H 11331602 MVI CTWAIT,HEX1A SET WAIT CODE = 1A 11332802 L CREG,CREGSAVE GET HSR ADDRESS 11334002 LA RETCODE,K4 SET RC = 4 11335202 BR CREG RETURN TO CALLER WITH RC = 4 11336402 SPACE 11337602 ********************************************************************* 11338802 * * 11348802 * THIS SECTION BUMPS THE CCHH BY ONE * 11358802 * * 11360802 ********************************************************************* 11362802 SPACE 11364802 EOC DS 0H 11368802 ICM EOCREG,HEXF,SRCHADDR GET CCHH OF RCD 11418802 AH EOCREG,ONE INCREMENT CCHH BY 1 @YM05130 11468802 L WORKREG1,DEVSAVE GET DEV TYPE 11518802 CLM EOCREG,HEX3,2(WORKREG1) COMPARE HH WITH MAX FOR DEV 11568802 BL NOMAXHH SKIP CC BUMP 11618802 SRL EOCREG,HEX10 SHIFT TO OBTAIN CC ALONE 11668802 AH EOCREG,ONE BUMP CC BY 1 @YM05130 11718802 SLL EOCREG,HEX10 TO GET CC AND HH(ZERO HH) 11768802 NOMAXHH DS 0H 11818802 STCM EOCREG,HEXF,SRCHADDR STORE NEW CCHH 11828802 BR RETREG RETURN TO CALLER 11868802 SPACE 24840002 ********************************************************************* 24930002 * * 25020002 * THIS ROUTINE HANDLES I/O ERRORS FOR THE PRECURSOR. * 25110002 * * 25200002 ********************************************************************* 25290002 SPACE 25380002 CATSEXIT DS 0H 25430002 TM CTFLG1,CTERROR CHECK IF USER DOES OWN ERROR REC 25440002 BNO TESTERR NO, PROVIDE ERROR RECOVERY 25450002 NI CTFLG1,HEXFF-CTERROR YES, ZERO FLG TO INDICATE ERROR 25460002 BR RETREG LET CALLER HANDLE ERROR 25462002 TESTERR DS 0H ERROR PROCESSING 25470002 ST RETREG,RETSAVE STORE RETURN REG ADDR 25520002 ICM ERBREG,HEXF,CTERBDA SET UP WITH THE DA ERB 25560002 MVC CSWSAVE(8),CSW SAVE THE CSW FOR LATER 25650002 LR WORKREG1,CCWREG SAVE CCW FOR RETRY 25740002 CSWOK DS 0H SET UP TO CHECK STATUS 25830002 TM CSW+K5,CHANCK CATASTROPHIC CHANNEL ERROR? 25920002 BNZ EXITCODE YES, TERMINATE WITH RC=4 26010002 TM CSW+4,UNITCK UNIT CHECK CONDITION? 26100002 BO UNITSENS YES, ISSUE SENSE CMD 26190002 TM CSW+5,CHAINCK CHAINING CK COND? 26280002 BNO EXITCODE RETURN WITH ERROR CODE 26420002 CHAINACT DS 0H CHAINING CHECK PROCESSING 27000002 LTR ERBREG,ERBREG ERB SET UP? 27090002 BNZ CHAINR YES, RETRY UNTIL COMPLETED 27180002 L ERBREG,ERB10 NO, SET UP ERB FOR RETRY 27270002 B CHAINR GO TO CHAIN ROUTINE 27360002 UNITSENS DS 0H UNIT SENSE PROCESSING RTN 27450002 XC SENSAREA(2),SENSAREA ZERO OUT SENSE INPUT AREA 27540002 LA CCWREG,SENSEOP SET UP SENSE OPERATION 27630002 OI CTFLG1,CTERROR SET UP TO HANDLE OWN ERRORS 27680002 BAL RETREG,DUMPSIO SET UP TO ISSUE SENSE 27720002 TM CTFLG1,CTERROR DID ERROR OCCUR 27730002 BNO EXITCODE YES, EXIT 27740002 NI CTFLG1,HEXFF-CTERROR NO, ZERO ERROR FLAG 27750002 TM SENSE03,EQUCK EQUIPMENT CHECK? 27810002 BO ERRACT1R YES, HANDLE WITH ONE RETRY 27900002 TM SENSE14,NORCD NO RECORD FOUND? 27990002 BO EXITCODE YES, NORMAL CONDITION 28080002 TM SENSE07,SEEKCK SEEK CHECK ? 28170002 BO CHAINACT SET UP FOR RETRY 28260002 TM SENSE01,INTVREQ INTERVENTION REQUIRED? 28350002 BO INTVR1 YES,PRINT OUT MSG 28440002 TM SENSE02,BUSCK BUS CHECK? 28530002 BO ERRACT1R SET UP TO RECOVER 28620002 TM SENSE04,DATACK DATA CHECK? 28710002 BO ERRACT16 RETRY 16 TIMES 28800002 TM SENSE05,OVERUN OVERUN CONDITION? 28890002 BO ERRACT16 RETRY 16 TIMES 28980002 TM SENSE16,MISSADDR MISSING ADDR MARKER 29070002 BO ERRACT16 YES, RETRY 16 TIMES 29160002 TM SENSE00,CMDREJ COMMAND REJECT? 29250002 BO EXITCODE YES, EXIT CAT ERROR 29340002 TM SENSE06,TRKCHK TRACK CHECK COND? 29430002 BO ERRACT6 YES, RETRY 29520002 TM SENSE12,ENDCYL END OF CYLINDER? 29610002 BNO EXITCODE NO, EXIT ON ALL CONDITIONS 29700002 SKIP1NOP DS 0H EOC ? 30150002 L CCWREG,SEEKADDR SET UP TO INCREMENT CC 30240002 AH CCWREG,ONE INCREMENT CC BY 1 @ZA17670 30330000 ST CCWREG,SEEKADDR RESTORE-NOW AT NEXT CYLINDER 30420002 XC SEEKADDR+4(2),SEEKADDR+4 ZERO OUT THE HH FIELD 30510002 TM SWITCHES,VTOCSW IN A VTOC SEARCH 30560002 BNO RTRY NO, SKIP TO NEXT CYL 30690002 CLC SRCHADDR(4),CTCCHHE OVER THE VTOC LIMITS? 30780002 BH EXITCODE YES, NO RECORD FOUND-EXIT 30870002 RTRY DS 0H RETRY ON NEXT CYL 30960002 LR CCWREG,WORKREG1 RESTORE CHANNEL PGM 31050002 L RETREG,RETSAVE RESTORE RETURN ADDRESS @ZA17670 31090000 B DUMPSIO RESTART I/O CHANNEL PROGRAM 31140002 EXITCODE DS 0H NORMAL EXIT ROUTINE PROCESSING 31230002 LA RETCODE,4 SET UP RC 31320002 L RETREG,RETSAVE RESTORE RETURN ADDR 31370002 BR RETREG RETURN TO CALLER 31410002 CHAINR DS 0H CHAIN ROUTINE 32940002 STCM ERBREG,HEXF,CTERBDA RESTORE DA ERB FOR LATER USE 33030002 SR WORKREG2,WORKREG2 SET UP COUNTER REGISTER 33120002 IC WORKREG2,ERBRETRY OBTAIN MAX ERB CTR COUNT 33210002 BCT WORKREG2,ERBPRIME DECREMENT COUNT BY 1 33300002 B EXITCODE MAX RETRY OCCURRED-EXIT RC=8 33390002 ERBPRIME DS 0H PRIME ERB RETRY COUNTER 33480002 STC WORKREG2,ERBRETRY RESTORE COUNT FOR NEXT TIME 33570002 IC WORKREG2,ERBCTRP PRIMARY RETRY COUNTER 33660002 BCT WORKREG2,ERBSIO DECREMENT BY ONE RETRY 33750002 B EXITCODE ALL RETRIES ATTEMPTED-RC=8 33840002 ERBSIO DS 0H PERFORM I/O RETRY OPERATION 33930002 STC WORKREG2,ERBCTRP RESTORE PRIMARY CTR 34020002 B DUMPSIO ENTER SIO RTN 34110002 ERRACT1R DS 0H ONE TIME RETRY 34200002 LR CCWREG,WORKREG1 SET UP FOR RETRY OPERATION 34290002 LTR ERBREG,ERBREG RETRY IN PROCESS? 34380002 BNZ CHAINR YES, RETRY AGAIN 34470002 ERRACT1S DS 0H 34520002 L ERBREG,ERB1 NO, SET UP RETRY COUNTER 34560002 B CHAINR GO RETRY OPERATION 34650002 ERRACT16 DS 0H A 16 RETRY OPERATION 35100002 LR CCWREG,WORKREG1 SET UP CCW 35190002 LTR ERBREG,ERBREG RETRY IN PROCESS? 35280002 BNZ CHAINR YES, SET UP 35370002 L ERBREG,ERB3 INITIALIZE THE RETRY 35460002 B CHAINR RETRY OPERATION 35550002 ERRACT6 DS 0H ALTERNATE TRACK CHECK CODE 35640002 XC SENSAREA(12),SENSAREA ZERO OUT SENSE INPUT AREA 35730002 LTR ERBREG,ERBREG HAVE WE ALREADY RETRIED OPER 35820002 BNZ TESTIT YES, TEST COUNTER 35910002 L ERBREG,ERB6 SET UP MAX OF 256 RETRIES 36000002 TESTIT DS 0H HOW MANY RETRIES ALREADY? 36090002 BCT ERBREG,ERBOK1 DECREMENT BY ONE RETRY 36180002 B EXITCODE ALL DONE, EXIT NO RETRY POSSIBLE 36270002 ERBOK1 DS 0H SET UP TO READ IN ALT TRK ADDR 36360002 STCM ERBREG,HEXF,CTERBDA SET UP THE ERROR COUNTER 36450002 OI CTFLG1,CTERROR INDICATE ERRORS HANDLED HERE 36540002 * ERRORS AT THIS POINT ARE 36630002 * TERMINAL TO THE RECOVERY 36720002 ICM SAVREG,HEXF,SRCHADDR SAVE CCHH 36770002 LA CCWREG,ERRSEEK SET UP TO GET ALT TRK ADDR 36810002 BAL RETREG,DUMPSIO GO TO DUMPSIO 36990002 TM CTFLG1,CTERROR AN I/O ERROR OCCUR? 37080002 BNO EXITCODE YES, EXIT-PERMANENT I/O ERROR 37170002 TM SENSAREA,DEFTRKFG A DEFECTIVE TRACK? 38070002 BNO EXITCODE NO, TEST FOR ALTERNATE TRK 38160002 LA CCWREG,SEEKSA SET UP SEEK 38250002 TM SWITCHES,IPLENTSW CHECK FOR ENTRY 38300002 BO CONTALTK BRANCH IF HSR ENTRY 38310002 L RETREG,RETSAVE RESTORE RETREG 38320002 B DUMPSIO GO TO DUMPSIO 38330002 CONTALTK DS 0H 38332002 BAL RETREG,DUMPSIO SEEK ALTERNATE TRK 38340002 TM CTFLG1,CTERROR AN I/O ERROR? 38430002 BNO EXITCODE IF I/O ERROR EXIT 38520002 STCM SAVREG,HEXF,SEEKADDR+2 RESTORE ORIGINAL CCHH 38570002 NI CTFLG1,HEX7F ZERO CTERROR 38580002 SR RETCODE,RETCODE ZERO RETURN CODE 38582002 L RETREG,RETSAVE RESTORE RETURN ADDR 38584002 BR RETREG 38586002 INTVR1 DS 0H INTERVENTION REQUIRED 41130002 TM SWITCHES,IPLENTSW CHECK FOR HSR ENTRY 41180002 BO HSRINTV GO SET UP MSG FOR HSR ENTRY 41190002 MVI CTWAIT,HEX0E SET UP INTV REQ WAIT CODE 41200002 B WAITSTAT GO LOAD WAIT STATE 41210002 HSRINTV DS 0H 41212002 LR CCWREG,WORKREG1 SAVE LAST OPERATION 41214002 LTR ERBREG,ERBREG RETRY IN PROCESS? 41220002 BZ ERRACT1S NO, RETRY OPERATION ONCE 41310002 SR INREG,INREG SET UP TO WRITE INTVR MSG 41850002 LA OUTREG,MSG14I OBTAIN MSG ADDR 41940002 ICM OUTREG,HEX8,LMSG14I SET UP LENGTH OF MSG 42030002 L BALREG,CTCONSOL GO TO CONSOLE ROUTINE ADDR 42120002 BALR CREG,BALREG GO ISSUE MSG 42210002 LTR RETCODE,RETCODE DID AN ERROR OCCUR? 42300002 BNZ EXITCODE YES, NO RECOVERY POSSIBLE-EXIT 42390002 TIOL DS 0H SET UP FOR INTERRUPT 42480002 LH IODEVREG,CTINADDR RESTORE DEVICE ADDRESS 42570002 TIO 0(IODEVREG) WAIT FOR I/O INTERRUPT 42660002 BC 7,TIOL TO OCCUR ON INTV DEVICE 42750002 LR CCWREG,WORKREG1 RESTORE I/O OPERATION TO 42840002 B DUMPSIO RETRY THE I/O 42930002 SPACE 63990002 ********************************************************************* 64080002 * * 64170002 * REGISTER EQUATES * 64260002 * * 64350002 ********************************************************************* 64440002 SPACE 64530002 SAVREG EQU 0 TEMPORARY SAVE REGISTER 64620002 LOWREG EQU 0 LOW REGISTER FOR LM AND STM 64890002 VOLREG EQU 1 VOLUME LABEL REGISTER 65070002 RCDCTREG EQU 1 NUMBER OF RCDS IN PGE 65120002 ERBREG EQU 2 ERB COUNTER REGISTER 65160002 CCTREG EQU 3 CCT BASE REGISTER 66600002 WORKREG1 EQU 4 WORK PROCESSING REGISTER 66660002 INREG EQU 5 INPUT CONSOLE REGISTER 66670002 OUTREG EQU 6 CONSOLE OUTPUT REGISTER 66680002 WORKREG2 EQU 6 WORKREG PROCESSING REG 66682002 EOCREG EQU 7 END OF CYL COUNT 66684002 ADDREG EQU 8 WORKAREA ADDRESS 66686002 RTRKREG EQU 9 RECS/TRK WORK REG @Z30RSTA 66686400 IODEVREG EQU 10 DEVICE TO PERFORM I/O 66688002 CCWREG EQU 11 CHANNEL PROGRAM REIGSTER 66688402 BASEREG EQU 12 BASE REGISTER 66688802 RETREG EQU 13 RETURN REGISTER 66690002 CREG EQU 14 USED FOR SIO RETURN REGISTER 66780002 RETCODE EQU 15 RETURN CODE REGISTER 66870002 BALREG EQU 15 BRANCH AND LINK REGISTER 66960002 HIREG EQU 15 HIGH REGISTER FOR STM AND LM 67050002 SPACE 67140002 ********************************************************************* 67230002 * * 67320002 * THIS SECTION DEFINES THE CONSTANTS USED BY THE PROGRAM * 67410002 * * 67500002 ********************************************************************* 67590002 SPACE 67680002 K0 EQU 0 ZERO OFFSET 67730002 K1 EQU 1 ONE OFFSET 67770002 K2 EQU 2 CONSTANT OF 2 FOR SUBTRACTION 67820002 K4 EQU 4 FLAG OFFSET IN CCWS 67910002 K5 EQU 5 SEARCH LENGTH CT 67950002 K6 EQU 6 SEEK CMD LENGTH CT 68040002 K7 EQU 7 LENGTH OFFSET IN SEARCH CMD 68050002 K44 EQU 44 DSNAME LENGTH FOR SEARCH 68100002 SPACE 74520002 ********************************************************************* 74610002 * * 74700002 * THIS SECTION CONTAINS THE CONSTANT EQUATES USED BY THE PROGRAM * 74790002 * * 74880002 ********************************************************************* 74970002 SPACE 75060002 CAW EQU X'48' CAW LOCATION 75070002 CCHHRLOC EQU 308 IPL2 CCHHR LOCATION 75110002 HALTPSW EQU 0 WAIT STATE PSW LOCATION 75160002 HISAVE EQU X'08' SAVE LOC FOR REGS 13&13 75210002 PGELNGTH EQU X'1800' RCD LENGTH 75410002 GPRLOC EQU 384 LOCATION OF GPR SAVE AREA IN LOW 75690002 BLANK EQU C' ' CHARACTER BLANK 76140002 LBLNGTH EQU 80 LENGTH OF IBM VOL LABEL 76320002 CSW EQU 64 LOCATION OF CSW 76410002 ENDTAB EQU X'FF' END OF TABLE INDICATOR 76500002 FM04 EQU X'04' FORMAT 4 DSCB IDENTIFIER 76590002 WORKAREA EQU 304 LOCATION OF WORK AREA 76950002 EQUCK EQU X'10' EQUIPMENT CHECK CONDITION 77040002 NORCD EQU X'08' NO RECORD FOUND 77130002 BUSCK EQU X'20' BUS CHECK CONDITION 77220002 INTVREQ EQU X'40' INTERVENTION REQUIRED 77310002 SEEKCK EQU X'01' SEEK CHECK CONDITION 77490002 DATACK EQU X'08' DATA CHECK CONDITION 77580002 OVERUN EQU X'04' OVERUN CONDITION 77670002 MISSADDR EQU X'02' MISSING ADDR MARKERS 77760002 TRKCHK EQU X'02' TRACK CONDITION CHECK 77850002 CMDREJ EQU X'80' COMMAND REJECT 77940002 ENDCYL EQU X'20' END OF CYLINDER CONDITION 78030002 IPLDEVAD EQU X'BA' 78080002 IPLENTSW EQU X'80' 78090002 VTOCSW EQU X'40' 78100002 SPACE 78120002 ********************************************************************* 78210002 * * 78300002 * THIS SECTION DEFINES THE DC CONSTANT AREAS WHICH ARE FIXED * 78390002 * * 78480002 ********************************************************************* 78570002 SPACE 78660002 ONE DC H'1' CONSTANT 1 @YM05130 78670002 HSRLOCAT DC XL2'7020' HIGH SPEED REAL LOCATION 78680002 IPLWORK DC XL2'7500' WORK AREA FOR IPL ENTRY 78690002 PGELOCS DC XL2'8000' INIT VALUE FOR READ CCW @Z30RSTA 78700000 SYS1 DC C'SYS1.PAGEDUMP' FOR DATA SET NAME TO SEARCH ON 78710002 TABLNG DS 0H SET UP TABLE 78760002 D2305A DC H'48' TRK CAPACITY ON 2305-1 78810002 DC H'08' TRKS PER CYLINDER 78820002 DC H'06' DEVICE ID 78830002 DC H'02' RCD PER TRK COUNT 78830402 D2305B DC H'96' TRK CAPACITY ON 2305-2 78832002 DC H'08' TRKS PER CYLINDER 78834002 DC H'07' DEVICE ID 78836002 DC H'02' RCD PER TRK COUNT 78836402 D3330 DC H'411' 3330 TRK CAPACITY 78838002 DC H'19' TRKS PER CYLINDER 78838402 DC H'09' 3330 ID 78838802 DC H'02' RCD PER TRK COUNT 78838902 D2314 DC H'203' TRK CAPACITY ON 2314 78839202 DC H'20' TRKS PER CYLINDER 78839602 DC H'08' 2314 ID 78839702 DC H'01' RCD PER TRK COUNT 78843902 D3330A DC H'815' 3330-1 TRK CAPACITY 78848202 DC H'19' TRKS PER CYLINDER 78852402 DC H'13' 3330-1 ID 78856602 DC H'02' RCD PER TRK COUNT 78858602 D3340A1 DC H'349' 3340A2 TRK CAPACITY @YM04500 78871002 DC H'12' TRKS PER CYLINDER 78871402 DC H'10' 3340 ID 78871802 DC H'01' RCD PER TRK COUNT 78871902 D3340A2 DC H'698' 3340A3 TRK CAPACITY @YM04500 78872202 DC H'12' TRKS PER CYLINDER 78872302 DC H'10' 3340 ID 78872402 DC H'01' RCD PER TRK COUNT 78872502 D3350 DC H'560' 3350 TRK CAPACITY @Z30RSTA 78875200 DC H'30' TRKS PER CYL @Z30RSTA 78877200 DC H'11' 3350 ID @Z30RSTA 78877600 DC H'03' REC PER TRK COUNT @Z30RSTA 78878000 TABEND DC XL1'FF' END OF TABLE 78878402 DS 0F ALIGN ON FULL WORK BOUNDRY 78881102 ERB1 DC XL4'010002FF' ONE TIME RETRY OPERATION 78883802 ERB3 DC XL4'03000FFF' 16 TIME RETRY 78886502 ERB6 DC XL4'06000FFF' TRK COND CHK ERB 78889202 ERB10 DC XL4'0B00AFF' 10 RETRY ERB 78891902 CSWSAVE DC 2F'0' SAVE AREA FOR CSW 78894602 DEVSAVE DS F'0' DEVICE TYPE ADDR 78897302 DEVRTRK DS XL1 DEVICE RECS/TRK @Z30RSTA 78899300 REGSAVE DS 64F REG SAVE AREA FOR IPL ENTRY 78900002 REALENT DC XL2'0000' REAL ENTRY COMPARATOR 78910002 SWITCHES DS XL1 SWITCHES USED ONLY IN PRO 78920002 DS 0H 78920402 RCDLNGTH DC XL2'1800' RCD LENGTH 78972002 SENSAREA DC 3F'0' SENSE BYTE SAVE AREA 79110002 RETSAVE DS F'0' 79160002 CREGSAVE DS F'0' 79170002 INPUT DC XL4'00001000' ADDRESS OF INPUT WORK AREA 79200002 IPLINPUT DC XL4'00007400' WORK AREA FOR IPL ENTRY 79250002 HEX7000 DC XL2'7000' START OF MIN CCT 79260002 SENSIN EQU SENSAREA CTSENSE ADDRESS FOR SENSE INFO 79310002 IBMVOL DC C'VOL1' IBM STANDARD DA VOL LABEL 79560002 DS 0F 79700002 PAGEADDR DC XL4'00008000' LOCATION OF PAGE PROGRAM IN CORE 79740002 DS 0H ALIGN ON HALF WORD BOUNDRY 79920002 KONE DC XL1'01' CONSTANT ONE FOR REPLY LNGTH 80080002 PGERCDCT DC X'00' NUMBER OF PGE RECORDS 80090002 * INIT BY AMDSALDR * 80092002 SEEKSA CCW SEEKCMD,SENSAREA+6,HEX60,6 80094002 CCW TICMD,READALN,HEX60,1 80096002 SPACE 80100002 ********************************************************************* 80190002 * * 80280002 * HEXADECIMAL CONSTANTS USED BY THIS MODULE ARE INCLUDED HERE * 80370002 * * 80460002 ********************************************************************* 80550002 SPACE 80640002 HEX00 EQU X'00' FOR WAIT STATE CODE OF ZERO 80690002 HEX01 EQU X'01' RCD 1 ID 80692002 HEX0C EQU X'0C' INTV REQ WAIT STATE CODE 80700002 HEX02 EQU X'02' WAIT BIT IN PSW 80710002 HEX05 EQU X'05' SEARCH LENGTH 80712002 HEX0E EQU X'0E' INTV REQ WAIT STATE 80714002 HEX1A EQU X'1A' ERROR LOADING PGE WAIT STATE 80716002 HEXFE EQU X'FE' UNABLE TO LOCATE SYS1.PAGEDUMP 80718002 HEXFD EQU X'FD' ERROR LOADING HSR OR LSR 80720002 HEX1 EQU B'0001' MASK FOR RCD COUNT 80722002 HEX3 EQU B'0011' MASK FOR RETRY OPERATION 80730002 HEX3F EQU X'3F' CATASTROPHIC CHAN ERR MSK 80780002 HEX7 EQU B'0111' USED FOR ADDR PORTION ONLY 80910002 HEX70 EQU X'70' FOR MULTI TRK READ HA NO DATA 81000002 HEX7F EQU X'7F' USED FOR ERROR RESET CONDITION 81090002 HEX8 EQU B'1000' FOR LENGTH OF MSG COND 81180002 HEX80 EQU X'80' MULTI TRK SEARCH 81230002 HEX10 EQU X'10' TEST VARIABLE 81270002 HEXF EQU B'1111' FOR LOADS OF NON BYTE BDY ADDR 81720002 HEXFF EQU X'FF' TEST MASK 81770002 HEX31 EQU X'31' SEARCH CMD 81780002 HEXA9 EQU X'A9' SEARCH KEY CMD 81790002 SPACE 81810002 ********************************************************************* 81900002 * * 81990002 * THIS SECTION DEFINES THE MESSAGE ISSUED BY THE PROGRAM * 82080002 * * 82170002 ********************************************************************* 82260002 SPACE 82350002 MSG14I DC C'14A INTV REQ IPL DEV' INTV REQ ERR 83340002 LMSG14I DC XL1'14' LENGTH OF INTV MSG 83430002 SPACE 83520002 ********************************************************************* 83610002 * * 83700002 * THIS DEFINES THE SENSE BYTE DESCRIPTION USED IN ERROR RECOVERY * 83790002 * * 83880002 ********************************************************************* 83970002 SPACE 84060002 SENSEOP CCW SENSE,SENSIN,HEX20,2 SENSE COMMAND 84150002 SENSE EQU X'04' SENSE COMMAND 84240002 UNITCK EQU X'02' UNIT CHECK CONDITION 84600002 SENSE00 EQU SENSAREA SENSE BYTE ZERO 84690002 SENSE01 EQU SENSE00 SENSE BYTE ZERO ONE 84780002 SENSE02 EQU SENSE00 SENSE BYTE ZERO TWO 84870002 SENSE03 EQU SENSE00 SENSE BYTE ZERO THREE 84960002 SENSE04 EQU SENSE00 SENSE BYTE ZERO FOUR 85050002 SENSE05 EQU SENSE00 SENSE BYTE ZERO FIVE 85140002 SENSE06 EQU SENSE00 SENSE BYTE ZERO SIX 85230002 SENSE07 EQU SENSE00 SENSE BYTE ZERO SEVEN 85320002 SENSE10 EQU SENSE00+1 SENSE BYTE ONE 85410002 SENSE11 EQU SENSE10 SENSE BYTE ONE ONE 85500002 SENSE12 EQU SENSE10 SENSE BYTE ONE TWO 85590002 SENSE13 EQU SENSE10 SENSE BYTE ONE THREE 85680002 SENSE14 EQU SENSE10 SENSE BYTE ONE FOUR 85770002 SENSE15 EQU SENSE10 SENSE BYTE ONE FIVE 85860002 SENSE16 EQU SENSE10 SENSE BYTE ONE SIX 85950002 SENSE17 EQU SENSE10 SENSE BYTE ONE SEVEN 86040002 SPACE 86130002 ********************************************************************* 86220002 * * 86310002 * THIS AREA IS A RESERVED MAINTENANCE AND PATCH AREA FROM HERE TO * 86400002 * THE END OF THE 2K AREA. THE PATCH AREA IS WITHIN THE 2K FROM * 86490002 * LOCATION X'7800' TO X'8000' IN THE PRECURSOR AND MUST NOT EXCEED * 86580002 * THESE BOUNDRIES. * 86670002 * * 86760002 ********************************************************************* 86850002 SPACE 86940002 PROPATCH DS 0H START OF PATCH AND MAINT AREA 87030002 DC CL8'PROPATCH' START OF PATCH AREA 87120002 ********************************************************************* 87130002 * * 87140002 * THE FOLLOWING ORG PLACES THE PATCH AREA AT THE LOC SPECIFIED * 87150000 * IN ORDER THAT THE DUMPSIO AND HSR LOADING PORTIONS OF PRECURSOR * 87160002 * WILL BE AT THE VERY END OF THE MODULE. THIS IS BECAUSE HSR WILL* 87162002 * BE READ INTO LOCATION X'7000' AND WILL OVER-LAY THE FIRST * 87164002 * PART OF PRECURSOR WHICH STARTS AT LOCATION X'7800' * 87166002 * ANY ADDITIONS WHICH OCCUR PAST THE PATCH AREA SHOULD * 87166402 * BE REFLECTED IN THE ORG INSTRUCTION BELOW IN THAT THE LENGTH * 87166802 * WHICH IS SUBTRACTED FROM 'AMDSAPRO+X'800'' SHOULD BE ADJUSTED * 87167202 * TO REFLECT ANY INCREASE OR DECREASE IN SIZE FOR BYTES OF CODE * 87167602 * ADDED OR SUBTRACTED. * 87167702 * * 87168002 ********************************************************************* 87168402 ORG AMDSAPRO+X'800'-X'11C' @ZA17670 87170000 ENDPATCH DC CL8'ENDPATCH' END OF PATCH AREA 87300002 SPACE 87310002 ********************************************************************* 87320002 * * 87330002 * THIS SECTION READS IN HSR IF ENTRY IS VIA IPL * 87340002 * * 87342002 ********************************************************************* 87344002 SPACE 87346002 HSRRCD DS 0H 87350002 LA CCWREG,HSRRCD GET ADDR OF HSRRCD 87352002 SR CCWREG,CCTREG SUB 7000 FROM IT FOR LNGTH 87354002 STH CCWREG,READ1A+K6 STORE LNGTH IN READ CCW 87356002 LA CCWREG,READ1A SET UP FOR CTL TIC TO 87360002 STCM CCWREG,HEX7,TIC4A+1 2ND READ 87370002 LA CCWREG,CTBRANCH SET UP TO READ HSR 87380002 STCM CCWREG,HEX7,READ1A+1 INTO LOCATION X'7020' 87382002 LA CCWREG,SEEK2 READ IN HSR 87384002 BAL RETREG,DUMPSIO GO PERFORM I/O 87386002 LTR RETCODE,RETCODE ERROR READING IN HSR ? 87388002 BZ HSRISIN NO, GO TO HSR 87388402 MVI CTWAIT,HEXFD MOVE IN FD WAIT STATE CODE 87388802 WAITSTAT DS 0H 87389202 MVC HALTPSW+K7(K1),CTWAIT SET UP WAIT STATE CODE 87389602 OI HALTPSW+K1,HEX02 TURN ON WAIT BIT IN PSW 87389702 MVI HALTPSW+K6,HEX00 SET UP REST OF CODE 87389802 LPSW HALTPSW WAIT 87389902 HSRISIN DS 0H 87419902 LR BASEREG,CCTREG SET UP ADDR FOR BRANCH 87421902 B CTBRANCH GO TO HSR 87429902 SPACE 87459702 ********************************************************************* 87459802 * * 87469802 * THIS ROUTINE HANDLES I/O PROCESSING FOR THE PRECURSOR * 87469902 * * 87473202 ********************************************************************* 87475202 SPACE 87475602 DUMPSIO DS 0H SIO SUBRTN 87476002 TLOOP DS 0H TIO LOOP TO CLR DEV STATUS 87476402 TIO K0(IODEVREG) CLR DEV TO INSURE IT IS AVAIL 87476502 BC 2,TLOOP WAIT UNTIL DEV IS FREE 87476602 BC 8,SIO IF AVAIL ISSUE SIO 87499902 TM CSW+4,HEX02 ELSE CSW STORED COND TEST LOOP 87509902 BC 14,TLOOP UNTIL STATUS CLEARED 87519902 CLI 0(CCWREG),SENSE IS THIS A SENSE CMD ISSUED 87521902 BE SIO YES, IGNORE CHANNEL STATUS 87522302 LA CCWREG,8(CCWREG) SET UP CCW FOR INTV REQ 87522702 STCM CCWREG,HEX7,CSW+1 SET UP CSW FOR INTV REQ 87523102 B CATSEXIT HANDLE ERROR CONDITION 87523202 SIO DS 0H 87523302 ST CCWREG,CAW SET CAW TO CHANNEL PGM 87531102 SIO K0(IODEVREG) PERFORM THE I/O OPERATION 87533102 BC 2,TLOOP CSW STORED, CHK AND ATTEMPT ER 87535102 BC 9,TIO 87535502 TM CSW+4,HEX10 87535902 BNZ TLOOP 87536302 B CHECKERR 87536702 TIO DS 0H 87537102 TIO K0(IODEVREG) WAIT TIL OPERATION COMPLETED 87537502 BNL TIO CONT WAIT LOOP 87537902 CHECKERR DS 0H 87538302 TM CSW+5,HEX3F IS IT A UNIT CHK COND 87546602 BNZ CATSEXIT IF UNIT CHECK HANDLE ERROR 87552602 TM CSW+4,HEX02 IS IT DEVICE END 87553002 BNZ CATSEXIT 87553102 TM CSW+4,HEX05 87553202 BZ TIO IF NOT DE TIO UNTIL DEV AVAIL 87553402 SR RETCODE,RETCODE ZERO RETURN 87553802 CLI 0(CCWREG),SENSE IS THIS A SENSE CMD ISSUER 87554202 BCR 8,RETREG YES DO NOT SET ERB TO ZERO 87554302 XC CTERBDA(4),CTERBDA NORMAL RETURN RESET ERB 87575402 BR RETREG RETRUN TO CALLER 87585402 PROEND DS 0H 87595402 SPACE 87595802 ********************************************************************* 87596202 * * 87596602 * THESE ARE THE CCW'S USED FOR THE DIRECT ACCESS CODE * 87603602 * * 87605602 ********************************************************************* 87607602 SPACE 87609602 ERRSEEK CCW SEEKCMD,SEEKADDR,HEX60,K6 SEEK FOR ALT TRK 87610002 CCW READHA,SENSAREA,HEX60,5 READ HOME ADDR CCW 87610402 CCW READR0,SENSAREA+8,HEX20,4 READ RCD 0 CCW 87610502 SEEK2 CCW SEEKCMD,SEEKADDR,HEX60,K6 SEEK CMD FOR FORMAT 1 87610602 READALN CCW READHA,INPUT,HEX70,K5 RD HA TO ALIGN AT STRT OF TRK 87610702 SEARCH2 CCW MSEARCH,SRCHADDR,HEX60,44 SEARCH FOR NAME 87617702 TIC4 CCW TICMD,SEARCH2,HEX60,K1 TIC UNTIL FOUND 87619702 TIC4A CCW TICMD,READ1,HEX60,K1 CTL TIC 87621702 READ1 CCW READCMD,INPUT,HEX20,144 READ IN RECORD 1 87623702 READ1A CCW READCMD,IPLINPUT,HEX20,144 READ IN RECORD 2 87624102 READHA EQU X'1A' READ HOME ADDR CMD 87624502 READR0 EQU X'16' READ RECORD 0 CMD 87624602 DEFTRKFG EQU X'02' DEFECTIVE TRK CODE 87624702 DS 0F SET UP ALIGNMENT 87624802 SEEKADDR DC XL8'00' SEEK ADDR LOC 87631802 SRCHADDR EQU SEEKADDR+2 SEARCH ADDR LOC 87633802 MSEARCH EQU X'B1' MULTI-TRK SEARCH 87635802 CHANCK EQU X'0E' CHANNEL CHECK 87637802 CHAINCK EQU X'01' CHAINING CHECK 87638202 TICMD EQU X'08' TIC CMD CODE 87638602 READCMD EQU X'06' READ CMD CODE 87638702 HEX60 EQU X'60' SLI BIT AND CMD CHAIN 87638802 HEX20 EQU X'20' SLI BIT ONLY 87638902 SEEKCMD EQU X'07' SEEK CMD CODE 87657402 SPACE 87676002 ********************************************************************* 87694502 * * 87713002 * THIS DEFINES THE COMMON CONTROL TABLE (CCT) DSECT * 87731502 * * 87750002 ********************************************************************* 87840002 SPACE 87930002 CCT DSECT 88020002 CTWAIT DS XL1 WAIT STATE CODE 88200002 CTFLG1 DS XL1 FLAG 1 OF CCT 88250002 CTERROR EQU X'80' CALLER HANDLES OWN ERRORS 88300002 CTDEVICE EQU X'40' DA I/O IN PROGRESS 88350002 CTMORTPE EQU X'20' END OF REEL 88400002 CTWORK EQU X'10' WORK RECORD IN PROGRESS 88450002 CTDEFO EQU X'08' DEFAULT OUTPUT ADDR USED 88500002 CTDEFW EQU X'04' DEFAULT WKFILE ADDR USED 88550002 CTMP EQU X'02' PROCESSING ON MP SYSTEM 88600002 CTERREC EQU X'01' IGNORE CATASTROPHIC ERRORS 88650002 CTFLG2 DS XL1 FLAG 2 OF CCT 88700002 CTDUPSW EQU X'80' DUPLICATE LINE 88750002 CTSTOR EQU X'40' PROTECT KEY IN PROGRESS 88800002 CTPGEFLT EQU X'20' PAGE FAULT IN PROGRESS 88850002 CTNOSTAT EQU X'10' STORE STATUS NOT PERFORMED 88900002 CTVIRTR EQU X'08' VIRTUAL DUMP REQUESTED 88950002 CTWKDONE EQU X'04' END OF WKFILE PROCESSING 89000002 CTALTCON EQU X'02' ALTERNATE CONSOLE IN USE 89050002 CTNOWORK EQU X'01' NO WKFILE PRESENT 89100002 CTDEVTYP DS XL1 IPL DEVICE TYPE 89150002 CTSENSE DS XL2 SENSE INFORMATION AREA 89200002 CTINADDR DS XL2 IPL DEVICE ADDRESS 89250002 CTCCHHR DS XL7 FOR USE DURING IPL AND WKFILE 89300002 CTPGECNT DS XL1 RCD COUNT OF AMDSAPGE 89360002 CTCCHHS DS XL4 START OF SYS1.PGEDUMP 89400002 CTCCHHE DS XL4 END OF SYS1.PAGEDUMP 89450002 CTCCHHW DS XL4 START OF WKFILE 89500002 CTERBDA DS XL4 DA ERROR RECOVERY BLOCK 89550002 CTERBTPE DS XL4 TAPE ERROR RECOVERY BLOCK 89600002 CTBRANCH EQU CTERBTPE 89610002 CTERBCON DS XL4 CONSOLE ERR RECOVERY BLOCK 89650002 CTCPUI DS XL2 IPL CPU ADDRESS 89700002 CTOUTAD DS XL2 OUTPUT DEVICE ADDRESS 89750002 CTCONTYP DS XL1 CONSOLE TYPE 89800002 CTEBCOPD DS XL3 DEFAULT OUTPUT DEVICE 89850002 CTLOWFLG DS XL1 FLAGS 89900002 CTVIRTD EQU X'80' DEFAULT TO VIRT DUMP 89950002 CTEBCOPR DS XL3 REPLIED OUTPUT DEVICE ADDRESS 90000002 CTIOTYPE DS XL1 IO REQUEST FLAGS 90050002 CTIOTERM EQU X'80' TERMINATE 90100002 CTIOOUT EQU X'40' OUTPUT TAPE 90150002 CTIODA EQU X'20' DIRECT ACCESS 90200002 CTIOWK EQU X'10' WKFILE 90250002 CTIOCON EQU X'08' CONSOLE 90260002 DS XL1 RESERVED 90262002 CTCONFLG DS XL1 CONSOLE FLAGS 90264002 CTMSGOUT EQU X'80' MSG MUST COME OUT 90266002 CTBUFTYP DS XL1 BUFFER FLAGS FOR PGE 90268002 CTCONSOL DS XL4 CONSOLE ROUTINE ADDRESS 90268402 CTLWKAD DS XL4 LAST ADDR ON WKFILE 90268802 CTCOMMIO DS XL4 ADDR OF DUMPSIO ROUTINE 90269202 CTEOR DS XL4 ADDRES OF EOR ROUTINE IN HSR 90269302 CTVCCT DS XL4 ADDR OF VCCT 90269602 CTPRMT1 DS XL2 WRITE POSITION(3066 CONSOLE) 90269702 CTPRMT2 DS XL2 READ POSITION(3066 CONSOLE) 90269802 CTHWM DS XL1 LOGICAL 3066 LIMIT 90269902 CTHWMAX DS XL1 PHYSICAL 3066 LIMIT 90270002 ERBCTRP EQU CTERBDA+2 PRIMARY ERB COUNTER 90310002 ERBRETRY EQU CTERBDA+3 MAX ERB COUNTER 90360002 SPACE 90540002 ********************************************************************* 90630002 * * 90720002 * THIS SECTION DEFINES THE VOLUME LABEL DSECT USED TO REFERENCE LAB * 90810002 * * 90900002 ********************************************************************* 90990002 SPACE 91080002 VOLABEL DSECT 91170002 VOLAB1 DS XL3 LABEL ID 91260002 VOLNO DS XL1 VOL LABEL NUMBER 91350002 VOLSER DS XL6 VOLUME SERIAL NUMBER 91440002 VOLSECUR DS XL1 VOL SECURITY BIT 91530002 VOLVTOC DS XL5 VTOC POINTER 91620002 VOLRSVD1 DS XL25 RESERVED FIELD 91710002 VOLOWNER DS XL10 VOLUME OWNER FIELD 91800002 VOLRSVD2 DS XL29 RESERVED FIELD 91890002 SPACE 91980002 ********************************************************************* 92070002 * * 92160002 * THIS SECTION IS USED TO REFERENCE THE FORMAT 1 DSCB * 92250002 * * 92340002 ********************************************************************* 92430002 SPACE 92520002 DSCBF1 DSECT 92610002 DSCB1ID DS XL1 FORMAT 1 IDENTIFIER 92700002 DSCB1VOL DS XL6 VOL ID 92790002 DSCB1SEQ DS XL2 VOLUME SEQUENCE NUMBER 92880002 DSCB1INF DS XL45 MISCELLANEOUS INFO (UNUSED) 92970002 DSCBTTR DS XL2 RELATIVE TTR FOR UPPER EXTENTS 93060002 DSCBMISC DS XL7 MISCELLANEOUS INFO (UNUSED) 93150002 DSCBLOW1 DS XL4 LOWER EXTENT 93240002 DSCBHIL DS XL4 UPPER EXTENT LIMIIT 93330002 DSCB1EXT DS XL25 EXTENT RELEATED DATA(UNUSED) 93420002 SPACE 93510002 ********************************************************************* 93600002 * * 93690002 * THIS SECTION IS USED TO REFERENCE THE FORMAT 4 DSCB * 93780002 * * 93870002 ********************************************************************* 93960002 SPACE 94050002 DSCBF4 DSECT 94140002 DSCB4ID DS XL1 DSCB IDENTIFIER 94230002 DSCB4HI DS XL5 DSCB EXTENT LIMIT 94320002 DSCB4INF DS XL12 DSCB INFO(UNUSED) 94410002 DSCB4TRK DS XL4 TRACK LNGTH 94500002 DSCB4EXT DS XL76 EXTENT OF DSCB DATA(UNUSED) 94590002 * * 94680002 END 94770002