SEV TITLE 'DMKSEV (CP) VM/370 - RELEASE 6' 00001000 ISEQ 73,80 VALIDATE INPUT SEQUENCE FIELDS @V200820 00002000 PUNCH 'SPB' FORCE PAGE-BOUNDARY ALIGNMENT @VM08727 00003000 DMKSEV CSECT 00004000 MODULEID DC CL8'DMKSEV' @VA01068 00005000 ********************************************************************** 00006000 * 00007000 * MODULE NAME - DMKSEV 00008000 * 00009000 * FUNCTION 00010000 * THIS ROUTINE WILL ANALYZE THE 2870 CHANNEL LOGOUT AND 00011000 * SET APPROPRIATE BITS IN THE ECSW FIELD ACCORDING TO THE 00012000 * RESULTS OF THIS ANALYSIS. IT WILL ALSO MOVE THE CHANNEL 00013000 * LOGOUT TO THE CHANNEL CHECK RECORD. 00014000 * 00015000 * ENTRY POINTS 00016000 * DMKSEV - FROM THE CHANNEL CONTROL ROUTINE 00017000 * 00018000 * INPUT 00019000 * 1. CHANNEL LOGOUT DATA 00020000 * 2. POINTER TO THE CHANNEL CHECK RECORD 00021000 * 3. POINTER TO THE CCH SWITCH FIELD (ENTSW) 00022000 * 00023000 * OUTPUT 00024000 * 1. APPROPRIATE BITS ARE SET IN THE CCH RECORD 00025000 * FIELD (FAILECSW). 00026000 * 2. THE CHANNEL LOGOUT IS MOVE TO THE CCH RECORD. 00027000 * 00028000 * EXTERNAL REFERENCES 00029000 * CHANNEL LOGOUT (LOCATION X'130') 00030000 * 00031000 * EXIT - NORMAL 00032000 * RETURN TO THE CCH CONTROL ROUTINE VIA REGISTER 14. 00033000 * 00034000 * EXIT - ERROR 00035000 * NONE 00036000 * 00037000 * TABLES / WORK AREA 00038000 * THE CHANNEL CHECK RECORD 00039000 * 00040000 * ATTRIBUTES 00041000 * DMKSEV IS PRIVILEGED AND REUSABLE 00042000 * 00043000 * CHARACTER CODE DEPENDENCIES 00044000 * NONE 00045000 * 00046000 * NOTE 00047000 * NONE 00048000 * 00049000 ********************************************************************** 00050000 EJECT 00051000 ********************************************************************** 00052000 ********************************************************************** 00053000 LOGWD1A EQU 304 1ST HALF OF LOGOUT WORD 1 00054000 LOGWD1B EQU 308 2ND HALF OF LOGOUT WORD 1 00055000 LOGWD2A EQU 312 1ST HALF OF LOGOUT WORD 2 00056000 LOGWD2B EQU 316 12ND HALF OF LOGOUT WORD 2 00057000 LOGWD3A EQU 320 1ST HALF OF LOGOUT WORD 3 00058000 LOGWD3B EQU 324 2ND HALF OF LOGOUT WORD 3 00059000 ********************************************************************** 00060000 EJECT 00061000 ********************************************************************** 00062000 ENTRY DMKSEV70 00063000 DMKSEV70 EQU * 00064000 USING PSA,R0 SETUP ADDRESSABILITY FOR LOWCORE 00065000 USING SAVEAREA,R13 SETUP ADDRESSABILITY FOR SAVE AREA 00066000 USING *,R12 SETUP ADDRESSABILITY FOR MODULE 00067000 USING CCHREC,R9 SETUP ADDRESSABILITY FOR CCH RECORD 00068000 USING IOERBLOK,R4 SETUP ADDRESSABILITY FO I/O ERROR 00069000 * BLOCK 00070000 LR R1,R12 SAVE THE BASE REG. TO AVIOD DESTROYING 00071000 LR R12,R15 SETUP BASE ADDRESS 00072000 STM R2,R0,CCHSAVE SAVE ALL REGS. EXECPT REGISTER 1 00073000 ST R1,CCHSAVE+40 SAVE THE CONTENT OF REGISTER 12 00074000 LA R2,6 SETUP COUNT VALUE FOR LOOP 00075000 LA R1,X'130' GET THE ADDRESS OF THE I/O EXTENDED 00076000 * LOGOUT 00077000 CCHLOGU EQU * 00078000 CLC 0(4,R1),FFS HAS CHANNEL LOGOUT ? 00079000 BE CLEANUP NO, GO SET SYSTEM TERMINATION 00080000 LA R1,4(R1) UPDATE THE I/O EXTENDED LOGOUT POINTER 00081000 BCT R2,CCHLOGU GO TEST NEXT LOCATION 00082000 TM LOGWD3B+1,X'40' CHECK INDICATOR IN WORD 2 00083000 BZ CCH140 NO, GO SET COMMAND ADDR VALID 00084000 TM LOGWD2B,X'70' ANY PARITY BITS ON ? 00085000 BZ CCH140 NO, SET COMMAND ADDR VALID 00086000 OI IGBLAME,CCHCHNL INDICATE CHANNEL IS SOURCE OF ERROR 00087000 B CCH141 00088000 CCH140 EQU * 00089000 TM LOGWD3B+1,X'10' IS STORAGE CHECK SET ? 00090000 BZ CCH140A NO, GO SET COMMAND ADDR VALID 00091000 TM LOGWD3A,X'80' IS THIS CAW FETCH ? 00092000 BO CCH141 YES, GO CHECK FOR CHANNEL CONTROL 00093000 * CHECK 00094000 CCH140A EQU * 00095000 OI IGVALIDB,CCHCMDV SET COMMAND ADDRESS VALID FLAG 00096000 CCH141 EQU * 00097000 TM CSW+5,CCC IS CHANNEL CONTROL CHECK INDICATED ? 00098000 BO CCH141B IF YES, CHECK LS ADDER 00099000 CCH141H EQU * 00100000 TM LOGWD3B+2,X'02' IS ADDR-IN CHECK UP ? 00101000 BZ CCH141D NO, GO TEST FOR UA ADDRESS 00102000 CCH141A EQU * 00103000 OI IGBLAME,CCHINTFC THE INTERFACE IS THE SOURCE OF THE 00104000 * ERROR 00105000 B CCH141F GO TEST FOR STORAGE CHECK 00106000 CCH141B EQU * 00107000 TM LOGWD3B+1,X'20' IS LOCAL STORE ADDRESS CHECK UP ? 00108000 BZ CCH141C NO, GO TEST FOR UNIT ADDRESS 00109000 TM LOGWD3B,X'04' IS BIT 37 SET IN LOGOUT ? 00110000 BZ CCH141E NO, GO INDICATE CHANNEL ERROR 00111000 OI IGBLAME,CCHCPU INDICATE CPU ERROR 00112000 B CCH141F GO TEST FOR STORAGE CHECK 00113000 CCH141C EQU * 00114000 TM LOGWD3B+2,X'80' IS UNIT ADDR CHECK SET ? 00115000 BO CCH141E YES, GO INDICATE CHANNEL ERROR 00116000 B CCH141H GO CHECK ADDR-IN CHECK IN LOGOUT 00117000 CCH141D EQU * 00118000 TM ENTSW,TIOCCH IS THIS AN ERROR ON A TIO ? 00119000 BZ VALIDCCH NO, GO SET UA VALID FLAG 00120000 CLC SIOADDR+1(1),LOGWD3A+3 IS THE UNIT ADDRESS EQUAL TO THE 00121000 * UNIT ADDRESS IN THE LOGOUT 00122000 BNE CCH141F NO, GO TEST FOR STORAGE CHECK 00123000 VALIDCCH EQU * 00124000 OI IGVALIDB,CCHDAV SET UNIT ADDRESS VALID FLAG 00125000 B CCH141F GO CHECK FOR STORAGE CHECK 00126000 CCH141E EQU * 00127000 OI IGBLAME,CCHCHNL INDICATE CHANNEL IS SOURCE OF 00128000 * ERROR 00129000 CCH141F EQU * 00130000 TM LOGWD3B+1,X'10' IS STORAGE CHECK INDICATED ? 00131000 BZ CCH142 NO, GO CHECK PARITY FOR COUNT 00132000 TM LOGWD3B,X'02' IS BIT 38 IN LOGOUT ON ? 00133000 BZ CCH141G NO, GO INDICATE STORAGE ERROR 00134000 OI IGBLAME,CCHCHNL INDICATE CHANNEL ERROR AS SOURCE 00135000 TM LOGWD3A,X'40' CCW REQUIRED ON ? 00136000 BZ CCH142 NO, GO CHECK PARITY FOR COUNT 00137000 B CCH143A GO CHECK BIT 45 IN LOGOUT 00138000 CCH141G EQU * 00139000 OI IGBLAME,CCHSTG THE STORAGE IS THE SOURCE OF THE ERROR 00140000 B CCH143A GO TEST LOGOUT BITS 00141000 SPACE 2 00142000 ********************************************************************** 00143000 * CHECK FOR VALID COUNT 00144000 ********************************************************************** 00145000 SPACE 2 00146000 CCH142 EQU * 00147000 TM LOGWD3B+1,X'08' IS BYTE COUNT PARITY BAD 00148000 BO CCH142A YES, INDICATE CHANNEL IS THE SOURCE 00149000 * OF THE ERROR 00150000 TM LOGWD3B+2,X'20' BYTE COUNT BAD (SSC ONLY) ? 00151000 BO CCH142A YES, INDICATE CHANNEL IS SOURCE 00152000 * OF THE ERROR 00153000 TM LOGWD3B+1,X'80' UCW COUNT CHECK 00154000 BZ CCH143 NO, GO SET VALID FLAG FOR COUNT 00155000 TM LOGWD2B,X'03' ANY UCW PARITY BITS ? 00156000 BNZ CCH142A YES, GO INDICATE CHANNEL ERROR AS THE 00157000 * SOURCE OF THE ERROR 00158000 CCH143 EQU * 00159000 OI IGPRGFLG,CCHCNTB SET THE VALID FLAG FOR THE COUNT 00160000 CCH143A EQU * 00161000 TM LOGWD3B+1,X'06' IS BIT 45 OR 46 ON IN LOGOUT ? 00162000 BZ CCH144 NO, GO CHECK STATUS-IN 00163000 CCH142A EQU * 00164000 OI IGBLAME,CCHCHNL INDICATE CHANNEL ERROR AS SOURCE 00165000 CCH144 EQU * 00166000 TM LOGWD3B+2,X'01' IS STATUS-IN CHECK UP ? 00167000 BNO CCH145 GO CHECK FOR SYSTEM RESET 00168000 CCH144A EQU * 00169000 OI IGBLAME,CCHINTFC INTERFACE IS SOURCE OF ERROR 00170000 B CCH145A GO CHECK FOR SYSTEM RESET 00171000 CCH145 EQU * 00172000 TM CSW+5,IFCC IS THIS AN INTERFACE CONTROL CHECK ? 00173000 BO CCH145A NO, CHECK FOR SYSTEM RESET 00174000 OI IGVALIDB,CCHUSV SET VALID FLAG FORUNIT STATUS 00175000 CCH145A EQU * 00176000 L R2,LOGWD3B GET CHANNEL CHECK INFORMATION 00177000 N R2,SYSRESET CHECK FOR SYSTEM RESET 00178000 BZ CCH146 NO, GO CHECK CSW 00179000 TM LOGWD3A+2,X'10' IS EC INSTALLED ? 00180000 BO CCH145B YES, SET SELECTIVE RESET 00181000 OI IGTERMSQ,COMPSYS+RTCODE7 SET SYSTEM RESET COMP & RETRY 00182000 B CCHRETRN GO INITIALIZE LOGOUT AREA 00183000 CCH145B EQU * 00184000 OI IGVALIDB,CCHDAV SET THE DEVICE ADDRESS VALID 00185000 NI IGVALIDB,X'FF'-CCHCMDV SET THE COMMAND INVALID 00186000 NI IGPRGFLG,X'FF'-CCHCNTB SET THE COUNT INVALID 00187000 TM ENTSW,INTERCCH WAS THIS FROM AN I/O INTERRUPT ? 00188000 BZ CCH146A NO, GO SET RETRY CODE 00189000 TM LOGWD3B+2,X'82' IS THIS A UNIT ADDRESS OR ADDR-IN 00190000 * CHECK ? 00191000 BZ CCH146A NO, GO SET THE RETRY CODE 00192000 NI IGVALIDB,X'FF'-CCHDAV SET DEVICE ADDRESS INVALID 00193000 B CCH146A GO SET THE RETRY CODE 00194000 CCH146 EQU * 00195000 TM CSW+5,CCC+IFCC CHECK FOR BOTH CHANNEL CONTROL AND 00196000 * INTERFACE CONTROL CHECK ? 00197000 BM CCH147 YES, GO CHECK FOR INTERFACE CONTROL 00198000 * CHECK ? 00199000 TM LOGWD3B,X'01' IS SECOND CHECK SET ? 00200000 BZ CCH146A NO, GO SET THE TERMINATION CODE 00201000 OI IGBLAME,CCHCHNL INDICATE CHANNEL IS SOURCE OF 00202000 * ERROR 00203000 OI IGTERMSQ,COMPSYS+RTCODE7 SET SYSTEM RESET AND RETRY CODE 00204000 B CCHRETRN GO INITIALIZE LOGOUT AREA 00205000 CCH146A EQU * 00206000 OI IGTERMSQ,COMPSEL+RTCODE7 SET SELECTIVE RESET 00207000 * AND THE RETRY CODE 00208000 B CCHRETRN GO INITIALIZE LOGOUT AREA 00209000 CCH147 EQU * 00210000 TM CSW+5,IFCC IS THIS AN INTERFACE CONTROL CHECK ? 00211000 BO CCH148 YES, GO INDICATE INTERFACE AS SOURCE OF 00212000 * ERROR 00213000 OI IGTERMSQ,COMPFES SET COMP CODE TO SHOW FES 00214000 TM ENTSW,TIOCCH+HIOCCH IS THIS ON A SIO INSTRUCTION ? 00215000 BZ CCH150 YES, GO CHECK FOR CAW 00216000 TM ENTSW,TIOCCH IS THIS ON A TIO INSTRUCTION ? 00217000 BO CCH149 YES, CHECK THE TIO BIT 00218000 CCH162 EQU * 00219000 TM LOGWD3A,X'01' IS THIS A PSUEDO SIO ? 00220000 BZ CCH151 NO, GO TEST FOR TMODE TRIGGER 00221000 TM LOGWD3A,X'04' IS TTHE TIO FLAG ON ? 00222000 BO CCH152 YES, GO SET TERMINATION CODE 00223000 CCH151 EQU * 00224000 TM LOGWD3A+1,X'04' IS MODE TRIGGER 6 ON ? 00225000 BO CCH153 YES, GO CHECK COMMAND CHECK 00226000 TM LOGWD3A+2,X'E0' IS MODE TRIGGER 9, 10, OR 11 ON ? 00227000 BNZ CCH153 YES, GO CHECK COMMAND CHECK 00228000 TM LOGWD3A+1,X'70' IS MODE TRIGGER 2, 3, OR 4 ON ? 00229000 BZ CCH154 NO, GO CHECK COUNT 00230000 B CCH157 GO SET THE RETRY CODE 00231000 CCH153 EQU * 00232000 TM LOGWD3B+2,X'40' IS COMMAND CHECK ON IN LOGOUT ? 00233000 BO CCH165B YES, GO INDICATE SOURCE OF ERROR 00234000 CCH154 EQU * 00235000 TM IGPRGFLG,CCHCNTB IS THE VALIDITY FLAG ON FOR COUNT 00236000 BO CCH155 YES, GO CHECK COMMAND ADDRESS 00237000 CCH156 EQU * 00238000 OI IGTERMSQ,RTCODE5 SET RETRY CODE TO (101) 00239000 B CCHRETRN GO INITIALIZE LOGOUT AREA 00240000 CCH156A EQU * 00241000 OI IGTERMSQ,COMPSEL SET THE TERMINATION CODE 00242000 B CCH156 GO SET SEQUENCE CODE 00243000 CCH155 EQU * 00244000 TM IGVALIDB,CCHCMDV IS THE COMMAND ADDRESS VALID ? 00245000 BZ CCH156 NO, GO SET SEQUENCE CODE 00246000 L R2,CSW GET THE CSW ADDRESS 00247000 LA R2,0(R2) CLEAR THE HIGH ORDER BYTE 00248000 S R2,F8 GET THE ADDRESS OF THE LAST CCW 00249000 BM CCH156 NEGATIVE VALUE , GO INDICATE THAT 00250000 * IT IS INVALID 00251000 LH R3,6(R2) GET COUNT FROM CCW 00252000 N R3,XRIGHT16 CLEAR LOW ORDER BITS 00253000 LH R2,CSW+6 GET THE COUNT FROM THE CSW FIELD 00254000 N R2,XRIGHT16 CLEARED UNWANTED BITS 00255000 CR R2,R3 IS THE CSW COUNT GREATER THAN CCW 00256000 * COUNT ? 00257000 BH CCH155B YES, GO INDICATE UNIT ADDRESS VALID 00258000 BNE CCH157 GO SET RETRY CODE 00259000 CCH155A EQU * 00260000 OI IGTERMSQ,RTCODE2 SET RETRY CODE TO (010) 00261000 B CCHRETRN GO INITIALIZE THE LOGOUT AREA 00262000 CCH155B EQU * 00263000 TM IGVALIDB,CCHDAV IS THE UNIT ADDRESS VALID ? 00264000 BZ CCH163 NO, GO SET RETRY CODE 00265000 CCH155C EQU * 00266000 CLI SIOADDR+1,X'C0' IS THIS A MPX CHANNEL ? 00267000 BNL CCH156D NO, GO GET LOW ORDER DATA BYTE 00268000 NI IGVALIDB,X'FF'-CCHCNTB SET COUNT INVALID 00269000 B CCH156 GO SET RETRY CODE TO (101) 00270000 CCH156D EQU * 00271000 IC R2,3(R3) GET LOW DATA ADDRESS BITS 00272000 N R2,F7 CLEAR UNWANTED BITS 00273000 SR R1,R1 CLEAR REGISTER 1 00274000 IC R1,LOGWD3B+3 GET LOGOUT BYTE COUNT BITS 00275000 SRL R1,4 ISOLATE THE LOW ORDER BITS 00276000 N R1,F7 CLEAR ANY UNWANTED BITS 00277000 CR R2,R1 DOES CCW BITS EQUAL LOGOUT BITS ? 00278000 BNE CCH157 NO, GO SET RETRY CODE TO (011) 00279000 B CCH155A GO SET RETRY CODE TO (010) 00280000 CCH148 EQU * 00281000 OI IGBLAME,CCHINTFC INTERFACE IS THE SOURCE OF THE 00282000 * ERROR 00283000 TM LOGWD1A,X'03' ARE ANY BITS SET IN THE LOGOUT ? 00284000 BNZ CCH148A YES, GO CHECK TAG SEQUENCE FLAG 00285000 CCH148C EQU * 00286000 TM LOGWD3A+1,X'08' IS BIT 12 ON IN THE LOGOUT ? 00287000 BO CCH148A YES, GO CHECK TAG SEQUENCE FLAG 00288000 CCH148B EQU * 00289000 OI IGTERMSQ,COMPSEL+RTCODE3 SET THE SELECTIVE RESET AND 00290000 * THE RETRY CODE 00291000 B CCHRETRN GO INITIALIZE THE LOGOUT AREA 00292000 CCH148A EQU * 00293000 TM LOGWD3B+2,X'04' IS THE TAG SEQUENCE INCORRECT ? 00294000 BZ CCH158 NO, GO TEST THE SELECTION FLAG 00295000 TM LOGWD3A+1,X'08' IS BIT 12 ON IN THE LOGOUT ? 00296000 BO CCH156A YES, GO SET THE TERMINATION CODE 00297000 B CCH146A GO SET THE RETRY CODE AND SELECTIVE 00298000 * RESET CODE 00299000 CCH158 EQU * 00300000 TM LOGWD3B+2,X'10' IS THIS SELECTION INCORRECT ? 00301000 BZ CCH159 NO, GO TEST THE RESPONSE FLAG 00302000 OI IGTERMSQ,COMPSEL+RTCODE4 SET THE TERMINATION AND RETRY 00303000 * CODE TO (100) 00304000 B CCHRETRN GO INITIALIZE THE LGOUT AREA 00305000 CCH159 EQU * 00306000 TM LOGWD3B+2,X'08' IS THE RESPONSE FLAG ON ? 00307000 BZ CCH160 NO, GO TEST THE STATUS-IN FLAG 00308000 OI IGTERMSQ,COMPFES+RTCODE4 SET THE TERMINATION CODE 00309000 * AND RETRY CODE TO (100) 00310000 OI IGVALIDB,CCHCMDV SET THE COMMAND ADDRESS VALID FLAG 00311000 B CCHRETRN GO INITIALIZE THE LOGOUT 00312000 CCH160 EQU * 00313000 TM LOGWD3B+2,X'01' IS THE STATUS-IN CHECK ON ? 00314000 BO CCH160A YES, GO TEST FOR CAUSES OF CHANNEL CHECK 00315000 OI IGTERMSQ,COMPSEL+RTCODE2 SET SELECTIVE RESET AND THE 00316000 * RETRY CODE (010) 00317000 B CCHRETRN GO INITIALIZE THE LOGOUT AREA 00318000 CCH160A EQU * 00319000 TM ENTSW,TIOCCH+HIOCCH WAS ERROR CAUSED BY SIO ? 00320000 BNZ CCH148B NO, GO SET RETRY CODE 00321000 OI IGTERMSQ,COMPSEL+RTCODE1 SET THE SELECTIVE RESET AND 00322000 * RETRY CODE (001) 00323000 B CCHRETRN GO INITIALIZE THE LOGOUT AREA 00324000 CCH149 EQU * 00325000 TM LOGWD3A,X'04' IS THE TIO BIT ON IN LOGOUT ? 00326000 BO CCH162 YES, GO CHECK FOR SIO 00327000 TM IGVALIDB,CCHUSV IS UNIT STATUS VALID ? 00328000 BZ CCH163 NO, GO SET RETRY CODE 00329000 TM CSW+4,X'0C' IS CHANNEL END OR DEVICE END SET ? 00330000 BNZ CCH162 YES, GO CHECK PSUEDO SIO 00331000 CCH157 EQU * 00332000 OI IGTERMSQ,RTCODE3 SET TERMINATION CODE TO (003) 00333000 B CCHRETRN GO INITIALIZE LOGOUT 00334000 CCH163 EQU * 00335000 OI IGTERMSQ,RTCODE7 SET THE RETRY CODE TO (111) 00336000 B CCHRETRN GO INITIALIZE LOGOUT 00337000 CCH150 EQU * 00338000 TM LOGWD3A,X'80' IS THE CAW INVALID ? 00339000 BNZ CCH152 YES, GO SET RETRY CODE (TO (001) 00340000 CCH164 EQU * 00341000 TM IGVALIDB,CCHDAV WAS UNIT ADDRESS VALID ? 00342000 BZ CCH152 NO, GO SET RETRY CODE 00343000 CLI SIOADDR+1,X'C0' IS THIS A MPX CHANNEL ? 00344000 BNL CCH165 NO, GO TEST FOR TIO 00345000 TM LOGWD3A,X'40' IS CCW REQUIRED ON ? 00346000 BO CCH152 YES, GO SET RETRY CODE 00347000 CCH165 EQU * 00348000 TM LOGWD3A,X'04' TIO BIT ON IN LOGOUT ? 00349000 BO CCH152 YES, GO SET RETRY CODE 00350000 CCH165A EQU * 00351000 NI IGTERMSQ,X'FF'-COMPFES CLEAR TERMINATION CODE (01) 00352000 * THAT WAS ALREADY SET 00353000 OI IGTERMSQ,COMPSEL SET TERMINATION CODE (10) 00354000 CCH165B EQU * 00355000 OI IGBLAME,CCHCHNL THE CHANNEL IS THE SOURCE OF THE 00356000 * ERROR 00357000 CCH152 EQU * 00358000 OI IGTERMSQ,RTCODE4 SET RETRY CODE TO (100) 00359000 B CCHRETRN GO INITIALIZE THE LOGOUT AREA 00360000 CLEANUP EQU * 00361000 OI ENTSW,TERMSYS SET SYSTEM TERMINATION 00362000 B CCHEXIT4 GO RESTORE REGISTERS 00363000 CCHRETRN EQU * 00364000 TM LOGWD3B,X'10' IS DISCONNECT IN ON ? 00365000 BZ CCHRTRN NO, GET I/O EXTENDED LOGOUT POINTER 00366000 OI IGTERMSQ,CCHDI SET DISCONNECT IN THE BUILDED 00367000 * ECSW 00368000 CCHRTRN EQU * 00369000 LA R1,X'130' GET THE ADDRESS OF THE I/O EXTENDED 00370000 * LOGOUT 00371000 MVC CCHLOG70(24),0(R1) SAVE THE I/O EXTENDED LOGOUT 00372000 MVI 0(R1),X'FF' INITIALIZE THE I/O EXTENDED LOGOUT 00373000 MVC 1(23,R1),0(R1) TO ALL ONES 00374000 MVI CCHSAVE+59,X'0D' CHANGE THE LENGTH OF THE CCH @VA00881 00375000 * RECORD 00376000 CCHEXIT4 EQU * 00377000 LM R2,R0,CCHSAVE RESTORE THE REGISTERS 00378000 BR R14 RETURN TO CCH CONTROL ROUTINE 00379000 ********************************************************************** 00380000 ********************************************************************** 00381000 ********************************************************************** 00382000 EJECT 00383000 ********************************************************************** 00384000 CCHSAVE DS 16F 00385000 SYSRESET DC X'05268200' SYSTEM RESET CONSTANT 00386000 ******************************************************************** 00387000 ********************************************************************** 00388000 ********************************************************************** 00389000 EJECT 00390000 ********************************************************************** 00391000 PSA 00392000 COPY EQU 00393000 COPY DEVTYPES 00394000 COPY SAVE 00395000 ENTSW EQU SAVEWRK1 @VA01638 00396000 SIOADDR EQU SAVEWRK9 00397000 EJECT 00398000 COPY IOER 00399000 COPY CCHREC 00400000 END 00401000