ibm:vm370-lib:cms:dmsitp.assemble_src
Table of Contents
DMSITP Source
References
- Fixes Applied : 0
- This Source Date : Tuesday, December 12, 1978
- Last Fix ID : [Unmodified]
Source Listing
- DMSITP.ASSEMBLE.txt
- ITP TITLE 'DMSITP (CMS) VM/370 - RELEASE 6' 00001000
- SPACE 2 00002000
- *. 00003000
- * 00004000
- * 00005000
- * 00006000
- * 00007000
- * MODULE NAME - 00008000
- * 00009000
- * DMSITP (INTPROG) 00010000
- * 00011000
- * FUNCTION - 00012000
- * 00013000
- * HANDLE PROGRAM INTERRUPTS, PROCESS SPIE EXITS, PASS 00014000
- * CONTROL TO PROGRAM CHECK ROUTINE (CMSDOS), PASS CONTROL 00014100
- * TO DMSBAB TO CHECK FOR LINKAGE TO ABNORMAL TERMINATION 00014200
- * ROUTINE (CMSDOS). 00014300
- * 00015000
- * ATTRIBUTES - 00016000
- * 00017000
- * RE-ENTRANT, NUCLEUS-RESIDENT 00018000
- * 00019000
- * ENTRY POINTS - 00020000
- * 00021000
- * DMSITP 00022000
- * 00023000
- * ENTRY CONDITIONS - 00024000
- * 00025000
- * REGISTERS SET AS OF POINT OF INTERRUPT, PGMOPSW CONTAINS THE 00026000
- * PROGRAM OLD PSW. 00027000
- * 00028000
- * EXIT CONDITIONS - 00029000
- * 00030000
- * NORMAL - 00031000
- * CMS/OS: 00031100
- * IF NO SPIE EXIT ROUTINE CAN BE TAKEN, THEN CONTROL PASSES 00032000
- * TO DMSABN. 00033000
- * IF A 'SPIE' EXIT ROUTINE IS TAKEN, THEN EXECUTION RESUMES BY 00034000
- * LOADING THE PROGRAM OLD PSW, AS ALTERED BY THE SPIE EXIT 00035000
- * ROUTINE. 00036000
- * 00036100
- * CMS/DOS: 00036200
- * IF LINKAGE HAS BEEN ESTABLISHED TO A PROGRAM CHECK 00036300
- * ROUTINE (STXIT PC), CONTROL IS PASSED TO THIS ROUTINE. 00036400
- * IF NO LINKAGE HAS BEEN ESTABLISHED TO A PROGRAM CHECK 00036500
- * ROUTINE, A CHECK IS MADE TO SEE IF LINKAGE HAS BEEN 00036600
- * ESTABLISHED TO AN ABNORMAL TERMINATION ROUTINE (STXIT AB). 00036700
- * IF SO, CONTROL IS PASSED TO DMSBAB WHICH WILL GIVE CONTROL 00036800
- * TO THE STXIT AB ROUTINE. 00036900
- * IF NO PC OR AB ROUTINE CAN BE GIVEN CONTROL, CONTROL 00037000
- * PASSES TO DMSABN. 00037100
- * 00037200
- * ERROR - 00038000
- * SEE 'NORMAL'. 00039000
- * 00040000
- * CALLS TO OTHER ROUTINES - 00041000
- * 00042000
- * DMSABNGO -- TO ABEND THE USER. 00043000
- * 00044000
- * DMSFREE -- TO ALLOCATE USER FREE STORAGE FOR A 'PIE'. 00045000
- * 00046000
- * DMSERR -- TO TYPE OUT THE PROGRAM CHECK ERROR MESSAGE. 00047000
- * 00048000
- * 00049000
- * EXTERNAL REFERENCES - 00050000
- * 00051000
- * DMSABNGO 00052000
- * DMSFREB 00053000
- * DMSERR 00054000
- * DMSABW -- DMSABN WORK AREA 00055000
- * DOSAVE - CMS/DOS SAVE AREA 00055100
- * BGCOM - CMS/DOS PARTITION COMMUNICATION REGION 00055200
- * SYSCOM - CMS/DOS SYSTEM COMMUNICATION REGION 00055300
- * PIBTAB - CMS/DOS PROGRAM INFORMATION BLOCK 00055400
- * 00056000
- * TABLES / WORKAREAS - 00057000
- * 00058000
- * REFERENCES 'PGMSECT', IN THE NUCON PAGES. 00059000
- * 00060000
- * REGISTER USAGE - 00061000
- * 00062000
- * R1 -> WORK REGISTER 00062100
- * R3 -> PGMSECT WORK AREA 00063000
- * R4 -> FVSECT 00064000
- * R5 -> SCRATCH AREA, WORK REGISTER 00065000
- * R6 = SCRATCH 00066000
- * R7 -> PICA, WORK REGISTER 00067000
- * R8 -> DMSABW, THE DMSABN WORK AREA 00068000
- * R9 -> SSAVE, THE CURRENT SYSTEM SAVE AREA 00069000
- * R10 -> WORK REGISTER 00069100
- * R11 -> WORK REGISTER 00069200
- * 00070000
- * NOTES - 00071000
- * 00072000
- * NONE 00073000
- * 00074000
- * OPERATION - 00075000
- * 00076000
- * CMS/OS: 00076100
- * IF A SPIE EXIT ROUTINE HAS BEEN SPECIFIED, AND IT IS NOT 00077000
- * ALREADY ACTIVE, THEN CONTROL PASSES THERE, AFTER A 'PIE' HAS 00078000
- * BEEN ALLOCATED IN USER STORAGE. WHEN CONTROL RETURNS FROM 00079000
- * THE EXIT ROUTINE, THE MODIFIED PGM OLD PSW IS LOADED, AFTER 00080000
- * ANY MODIFIED REGISTERS HAVE BEEN RE-LOADED. 00081000
- * 00082000
- * IF A SPIE EXIT ROUTINE CANNOT BE TAKEN, THEN AN ERROR MESSAGE 00083000
- * IS TYPED OUT, AND CONTROL IS PASSED TO DMSABN, THE ABEND 00084000
- * RECOVERY ROUTINE. 00085000
- * 00086000
- * CMS/DOS: 00087000
- * IF LINKAGE HAS BEEN ESTABLISHED TO A PROGRAM CHECK 00087100
- * ROUTINE (STXIT PC), CONTROL IS PASSED TO THIS ROUTINE. 00087200
- * IF NO LINKAGE HAS BEEN ESTABLISHED TO A PROGRAM CHECK 00087300
- * ROUTINE, A CHECK IS MADE TO SEE IF LINKAGE HAS BEEN 00087400
- * ESTABLISHED TO AN ABNORMAL TERMINATION ROUTINE (STXIT AB). 00087500
- * IF SO, CONTROL IS PASSED TO DMSBAB WHICH WILL GIVE CONTROL 00087600
- * TO THE STXIT AB ROUTINE. 00087700
- * IF NO PC OR AB ROUTINE CAN BE GIVEN CONTROL, CONTROL 00087800
- * PASSES TO DMSABN. 00087900
- *. 00089000
- EJECT 00090000
- DMSITP CSECT 00092000
- REGEQU 00093000
- SPACE 2 00094000
- BR EQU R12 BASE REGISTER 00095000
- WR EQU R3 POINTER TO PGMSECT WORK AREA 00096000
- FVR EQU R4 POINTER TO FVSECT 00097000
- XR EQU R5 SCRATCH REGISTER 00098000
- WORDP EQU R6 POINTER TO DESCRIPTIVE WORD 00099000
- PCR EQU R7 POINTER TO PICA, IF ANY 00100000
- ABWR EQU R8 POINTER TO DMSABW 00101000
- SSVR EQU R9 POINTER TO SSAVE 00102000
- SPACE 2 00103000
- USING DMSITP,BR 00104000
- USING PGMSECT,WR 00105000
- USING FVSECT,FVR 00106000
- USING NUCON,R0 00107000
- USING ABWSECT,ABWR 00108000
- USING SSAVE,SSVR 00109000
- DMSITP CSECT 00111000
- ST WR,0 SAVE WR TEMPORARILY 00112000
- L WR,APGMSECT POINT TO PGMSECT 00113000
- STM R0,R15,PSAVE SAVE ALL REGISTERS 00114000
- MVC PSAVE+4*WR(4),0 COPY CORRECT WR REG 00115000
- BALR BR,0 ESTABLISH ADDRESSABILITY 00116000
- USING *,BR 00117000
- L BR,=A(DMSITP) SET UP CORRECT BASE 00118000
- USING DMSITP,BR 00119000
- L FVR,AFVS POINT TO FVSECT 00120000
- L ABWR,=V(DMSABW) POINT TO DMSABW 00121000
- L SSVR,CURRSAVE POINT TO SSAVE, CURRENT *00122000
- SYSTEM SAVE AREA 00123000
- MVC OPSW(8),PGMOPSW COPY OLD PSW INTO WORK AREA 00124000
- STM R14,R2,OPSW+8 SAVE REGS @VA02039 00124100
- SPACE 00125000
- * SET UP REG WORDP SO THAT IT POINTS TO A DESCRIPTIVE WORD, 00126000
- * DESCRIBING THE TYPE OF INTERRUPT. 00127000
- SR WORDP,WORDP 00128000
- IC WORDP,OPSW+3 GET INTERRUPT CODE 00129000
- MH WORDP,=AL2(TABLEN) MULTIPLY BY TABLE ELEMENT LENGTH 00130000
- LA WORDP,TYPTAB(WORDP) POINT TO CORRECT WORD 00131000
- LM R0,R1,CALLEE GET CALLEE NAME ENTERED. 00131100
- L R15,=V(ABBREV) GET ABBREV ROUTINE ADDRESS. 00131200
- BALR R14,R15 ... 00131300
- STM R0,R1,CALLEE USE ABBREV COMMAND NAME. 00131400
- LM R0,R1,PSAVE RESTORE R0, R1 V0727 00131500
- LM R14,R15,PSAVE+4*R14 RESTORE R14 AND R15 @VA01033 00131600
- SPACE 00132000
- * IF UFDBUSY IS NON-ZERO, THEN WE ARE IN THE MIDST OF A DISASTER. 00133000
- CLI UFDBUSY,0 USER FILE DIRECTORY BUSY? 00134000
- BNE ERRUFD DISASTER ERROR IF NONZERO 00135000
- SPACE 00136000
- * IF A SYSTEM ROUTINE WAS ACTIVE AT THE TIME, THEN WE'RE IN BAD SHAPE. 00137000
- TM TYPFLAG,TPFUSR 'USER' FLAG SET? 00138000
- BNO ERRNUSR GO IF NOT 00139000
- TM DOSFLAGS,DOSMODE+DOSSVC DOS ENVIRONMENT ACTIVE @V305066 00140100
- BNO ISITSTAE NO, MUST BE CMS/OS @VM03203 00140125
- TM VSAMFLG1,VSAMSERV IS AMSERV RUNNING ? @VM03203 00140150
- BO NOSPIE YES, TERMINATE HERE... @VM03203 00140175
- USING BGCOM,R5 BACKGROUND COMREG ADDRESSABILITY @V305066 00140200
- L R5,ASYSREF BGCOM ADDRESS @V305066 00140250
- SPACE 1 00140300
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00140350
- * THE FOLLOWING CODE STORES INTERRUPT INFORMATION IN THE PIB * 00140400
- * EXTENSION AFTER A PROGRAM CHECK HAS OCCURRED. THIS ROUTINE ALSO * 00140450
- * STORES THE OLD PSW AND THE USER REGISTERS AT THE TIME OF THE * 00140500
- * PROGRAM CHECK IN THE USER SAVEAREA. * 00140550
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00140600
- SPACE 1 00140650
- LH R7,PIK PROGRAM INTERRUPT KEY @V305066 00140700
- USING PIBADR,R7 ESTABLISH ADDRESSABILITY @V305066 00140750
- AH R7,PIBPT INCREM R7 BY ADD OF PIB @V305066 00140800
- SPACE 1 00140850
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00140900
- * R7 NOW POINTS TO THE PARTITION PIB * 00140950
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00141000
- SPACE 1 00141050
- SH R7,PIBDIFF @V305066 00141100
- SPACE 1 00141150
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00141200
- * R7 NOW POINTS TO THE PARTITION PIB EXTENSION * 00141250
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00141300
- SPACE 1 00141350
- SR R10,R10 CLEAR WORK REG @V305066 00141400
- SPACE 1 00141450
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00141500
- * THE FOLLOWING INSTRUCTIONS PLACE THE INTERRUPT INFORMATION * 00141550
- * IN THE PARTITION PIB EXTENSION * 00141600
- * THE FORMAT OF THE INTERRUPT INFORMATION IN THE PIB EXTENSION * 00141650
- * IS AS FOLLOWS: * 00141700
- * * 00141750
- * BYTE 0 - X'00' * 00141800
- * BYTE 1 - ILC IN BITS 5,6; OTHER BITS ARE ZERO * 00141850
- * BYTES 2,3 - INTERRUPTION CODE * 00141900
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 00141950
- SPACE 1 00142000
- IC R10,OPSW+4 INSERT ILC @V305066 00142050
- SRL R10,6 SHIFT RIGHT TO ELIMINATE GARBAGE @V305066 00142100
- SLL R10,17 SHIFT LEFT TO POSITION IN REG @V305066 00142150
- IC R10,OPSW+3 COMPLETE INTERRUPT CODE @V305066 00142200
- ST R10,INTINFO STORE SVC INTERR INFO IN PIB EXT @V305066 00142250
- LAPIB LA R7,32(R7) RE-ESTABLISH PIB POINTER @V305066 00142300
- PIBDIFF EQU LAPIB+2 DISP BETWEEN PIB AND PIB EXT @V305066 00142350
- L R11,PIBSAVE GET SAVE AREA ADDRESS @V305066 00142400
- USING SVEARA,R11 ESTABLISH ADDRESSABILITY @V305066 00142450
- MVC SVEPSW(8),OPSW SAVE OLD PSW @V305066 00142500
- MVC SVER09(28),PSAVE+36 USER'S REGS TO PP/LTA SAVE @V305066 00142550
- MVC SVER00(36),PSAVE STORE REST OF USER'S REGISTERS @V305066 00142600
- LH R10,PIK GET REQUESTOR'S KEY @V305066 00142650
- LH R2,PCPTR PC OPTION TABLE POINTER @V305066 00142700
- SRL R10,1 PC OPT TABLE HAS 8-BYTE ENTRY @V305066 00142750
- AR R2,R10 CALCULATE ENTRY TO PC OPTION TAB @V305066 00142800
- LM R10,R11,0(R2) LOAD ROUTINE/SAVEAREA ADD @V305066 00142850
- LTR R10,R10 IS EXIT ROUTINE AVAILABLE? @V305066 00142900
- BP PCROUT YES, SET UP FOR USER EXIT @V305066 00142950
- ABTERM L R11,ASYSCOM ADDRESS SYSCOM @V305066 00143000
- USING SYSCOM,R11 SYSCOM ADDRESSABILITY @V305066 00143050
- L R11,IJBABTAB AB OPTION TABLE ADDRESS @V305066 00143100
- LH R10,PIK PROGRAM REQUEST KEY @V305066 00143150
- SRL R10,1 AB OPT TAB 8-BYTE ENTRIES @V305066 00143200
- AR R11,R10 CAL. AB TAB ENTRY @V305066 00143250
- L R10,0(R11) AB ROUTINE ADDRESS @V305066 00143300
- LTR R10,R10 AB ROUT AVAILABLE @V305066 00143350
- BZ RESET NO, ISSUE PC ERROR MSG @V305066 00143400
- SR R0,R0 CLEAR REGISTER 0 @V305066 00143450
- IC R0,=XL1'20' PC ERROR CODE @V305066 00143500
- LA R1,=CL8'$$BABEND' PREPARE TO SEE IF STXIT AB @V305066 00143550
- SVC SVC2 HAS BEEN SET UP @V305066 00143600
- RESET XC LTK(2),LTK ZERO LOG. TRANS. KEY @V305066 00143650
- LH R11,PIBPT PIB ADDRESS @V305066 00143700
- L R10,ALTASAVE LTA SAVE ADDRESS @V305066 00143750
- ST R10,8(,R11) STORE LTA IN ATTENT. PIB @V305066 00143800
- L R10,APPSAVE PPSAVE ADDRESS @V305066 00143850
- LA R11,16(,R11) POINT TO PART. PIB @V305066 00143900
- ST R10,4(,R11) STORE IN PART. PIB @V305066 00143950
- B NOSPIE BR TO ISSUE ERR MSG @V305066 00144000
- PCROUT CLC ALTASAVE+1(3),PIBSAVE+1 REQUEST FROM LTA @V305066 00144050
- BNE CONTINUE OK, KEEP PROCESSING @V305066 00144100
- B ABTERM ABNORMALLY TERM @V305066 00144150
- CONTINUE L R1,PIBSAVE @V305066 00144200
- USING SVUARA,R11 USER SAVEAREA ADDRESSABILITY @V305066 00144250
- USING SVEARA,R1 PPSAVE ADDRESSABILITY @V305066 00144300
- MVC SVUPSW(8),SVEPSW MOVE PSW AND REGISTERS @V305066 00144350
- MVC SVUR00(36),SVER00 TO USER SAVE AREA IN @V305066 00144400
- MVC SVUR09(28),SVER09 SEQUENCE R0-R15 @V305066 00144450
- ST R10,SVEPSW2 STORE ROUTINE ADDRESS IN PSW @V305066 00144500
- LCR R10,R10 CONVERT ROUTINE ADDRESS @V305066 00144550
- ST R10,0(R2) STORE ROUTINE IN PC TABLE @V305066 00144600
- MVC PGMOPSW(8),SVEPSW MOVE USER'S PSW AND @V305066 00144650
- LM R9,R15,SVER09 RETURN CONTROL TO INST IND IN @V305066 00144700
- LM R0,R8,SVER00 REGISTERS TO CMS LOCATIONS @V305066 00144750
- LPSW PGMOPSW @V305066 00144800
- ISITSTAE L PCR,PICADDR POINT TO PICA @V305066 00144850
- LTR PCR,PCR IS THERE ANY? @V305066 00144900
- BZ CKSTAE @V305066 00144950
- SPACE 1 00145000
- * IF PICADDR IS NEGATIVE, THEN A PROGRAM CHECK OCCURRED IN A SPIE 00145050
- * EXIT ROUTINE WHICH IS ALREADY ACTIVE. 00145100
- BM BADSPIE SPIE ALREADY ACTIVE @V305066 00145150
- SPACE 1 00145200
- * OTHERSWISE, A SPIE IS CURRENTLY IN EFFECT. 00145250
- L R0,4(PCR) GET MASK BITS SPECIFIED IN SPIE 00150000
- SR XR,XR 00151000
- IC XR,OPSW+3 GET INTERRUPT CODE 00152000
- SLL R0,0(XR) MOVE MASK BIT INTO HIGH ORDER 00153000
- LTR R0,R0 IS THE BIT 1 OR 0? 00154000
- BM TAKESPIE @V1D1709 00155000
- CKSTAE CLC SCBPTR,=F'0' ANY 'STAE' EXIT ROUTINE? @V1D1709 00155500
- BNE GOABN YES, GO DO DMSABN @V1D1709 00156000
- B NOSPIE NO, PUT OUT MESSAGE @V1D1709 00156500
- TAKESPIE MVI PICADDR,X'80' INDICATE 'SPIE' ACTIVE @V1D1709 00157000
- SPACE 00160000
- * ALLOCATE USER STORAGE FOR A PIE, SO THAT THE USER CAN MODIFY IT. 00161000
- DMSFREE DWORDS=4,TYPE=USER,TYPCALL=BALR 00162000
- ST R1,AUPIE SAVE ADDR OF USER PIE V0007 00163100
- MVC 0(32,R1),PIE COPY PGMSECT PIE INTO USER PIE 00164000
- L R15,0(PCR) R15 -> EXIT ROUTINE 00165000
- ST R15,PGMOPSW+4 STORE ADDR IN PGMOPSW 00166000
- LA R14,SPIERET POINT TO SPIE EXIT ROUTINE *00167000
- RETURN ADDRESS 00168000
- LM R2,R13,PSAVE+4*R2 RESTORE REGS 2 THRU 13 00169000
- LPSW PGMOPSW BRANCH TO EXIT ROUTINE 00170000
- SPACE 5 00171000
- * RETURN HERE AT END OF EXIT ROUTINE 00172000
- SPIERET EQU * 00173000
- SSM PGMNPSW DISABLE INTERRUPTS @VA01561 00173100
- DMSKEY NUCLEUS,NOSTACK GET NUCLEUS PROTECTION KEY 00174000
- L R15,APGMSECT POINT TO PGMSECT 00175000
- USING PGMSECT,R15 00176000
- STM R3,R13,PSAVE+4*R3 SAVE CORRECTED REGS 00177000
- LR WR,R15 COPY WORK SPACE POINTER 00178000
- BALR R15,0 ESTABLISH ADDRESSABILITY 00179000
- USING *,R15 00180000
- L BR,=A(DMSITP) LOAD CORRECT BASE REG 00181000
- DROP R15 00182000
- L R1,AUPIE POINT TO USER'S PIE V0007 00183100
- SPACE 00184000
- * WE COPY THE USER MODIFIED FIELDS FROM THE USER PIE TO THE SYSTEM 00185000
- * PIE. WE COPY THE 5 REGISTERS, AS WELL AS THE SECOND HALF OF 00186000
- * THE PSW. 00187000
- MVC OPSW+4(4+5*4),OPSW+4-PIE(R1) 00188000
- DMSFRET DWORDS=4,LOC=(1),TYPCALL=BALR RELEASE USER'S PIE 00191000
- MVC PGMOPSW,OPSW SET UP RETURN PSW IN PGMOPSW 00192000
- MVI PICADDR,X'00' NO LONGER IN AN EXIT ROUTINE 00193000
- LM R14,R2,OPSW+8 RESTORE REGS R14-R2 00194000
- LM R3,R13,PSAVE+4*R3 RESTORE REGS R3-R13 00195000
- LPSW PGMOPSW RETURN 00196000
- * CONTROL COMES HERE TO ENTER THE ABEND RECOVERY ROUTINE. 00198000
- GOABN EQU * 00199000
- MVC ABNPSW,OPSW COPY OVER PSW 00200000
- OI ABNPSW+3,X'C0' THE ABEND CODE IS '0CX' 00201000
- CLC SCBPTR,=F'0' ANY 'STAE' EXIT ROUTINE? V0007 00201100
- BE GOABN1 GO IF THERE IS NOT V0007 00201200
- LH R1,ABNPSW+2 GET ABEND CODE V0007 00201300
- LM R2,R15,PSAVE+8 RESTORE SOME REGS @V1D1709 00201350
- SPACE 1 00201400
- * ABEND (R1) 00201500
- SVC 13 V0007 00201600
- SPACE 1 00201700
- GOABN1 EQU * V0007 00201800
- LH R0,ABNPSW+2 PUT ABEND CODE INTO R0 00202000
- MVC ABNREGS(4*16),PSAVE COPY REGS INTO ABN WORK AREA 00203000
- L R15,=V(DMSABNGO) CORRECT ADDRESS IN DMSABN 00204000
- BALR R14,R15 GO THERE 00205000
- * NO SPIE EXIT ROUTINE HAS BEEN SPECIFIED. 00207000
- NOSPIE EQU * 00208000
- DMSERR NUM=141,LET=T,TYPCALL=BALR, *00209000
- MF=(E,ABNERLST), *00210000
- TEXT='..................... EXCEPTION OCCURRED AT ......*00211000
- IN ROUTINE ........', *00212000
- SUB=(CHARA,(WORDP),HEXA,OPSW+4,CHARA,CALLEE) 00213000
- B GOABN 00214000
- SPACE 5 00215000
- * A PROGRAM CHECK OCCURRED IN A SPIE EXIT ROUTINE. 00216000
- BADSPIE EQU * 00217000
- DMSERR NUM=142,LET=T,TYPCALL=BALR, *00218000
- MF=(E,ABNERLST), *00219000
- TEXT='..................... EXCEPTION OCCURRED AT ......*00220000
- IN ROUTINE ........ DURING ''SPIE'' EXIT ROUTINE', *00221000
- SUB=(CHARA,(WORDP),HEXA,OPSW+4,CHARA,CALLEE) 00222000
- B GOABN 00223000
- SPACE 5 00224000
- * A PROGRAM CHECK OCCURRED IN A SYSTEM ROUTINE. 00225000
- ERRNUSR EQU * 00226000
- DMSERR NUM=143,LET=T,TYPCALL=BALR, *00227000
- MF=(E,ABNERLST), *00228000
- HALT=YES, *00229000
- TEXT='..................... EXCEPTION OCCURRED AT ......*00230000
- IN SYSTEM ROUTINE ........, RE-IPL CMS', *00231000
- SUB=(CHARA,(WORDP),HEXA,OPSW+4,CHARA,CALLEE) 00232000
- SPACE 00233000
- * IF THE USER TURNS OFF THE WAIT STATE BIT, THEN WE CONTINUE WITH THE 00234000
- * ABEND. 00235000
- B GOABN 00236000
- SPACE 5 00237000
- * THE UFDBUSY BYTE WAS NON-ZERO WHEN THE PROGRAM CHECK OCCURRED. THIS 00238000
- * IS A VERY DANGEROUS SITUATION. 00239000
- ERRUFD EQU * 00240000
- DMSERR NUM=144,LET=T,TYPCALL=BALR, *00241000
- HALT=YES,DISP=SIO, *00242000
- MF=(E,ABNERLST), *00243000
- TEXT='..................... EXCEPTION OCCURRED AT ......*00244000
- IN ROUTINE ........ WHILE ''UFDBUSY'' = .., RE-IPL CMS'*00245000
- , *00246000
- SUB=(CHARA,(WORDP),HEXA,OPSW+4,CHARA,CALLEE, *00247000
- HEX4A,UFDBUSY) 00248000
- SPACE 00249000
- * IF THE USER TURNS OFF THE WAIT STATE BIT, THEN WE CONTINUE WITH THE 00250000
- * ABEND. 00251000
- B GOABN 00252000
- * TABLE OF DESCRIPTIVE WORDS 00254000
- TABLEN EQU 21 LENGTH OF EACH ELEMENT OF TABLE 00255000
- SPACE 00256000
- TYPTAB DC CL21'IMPRECISE' 00257000
- DC CL21'OPERATION' 00258000
- DC CL21'PRIVILEGED OPERATION' 00259000
- DC CL21'EXECUTE' 00260000
- DC CL21'PROTECTION' 00261000
- DC CL21'ADDRESSING' 00262000
- DC CL21'SPECIFICATION' 00263000
- DC CL21'DECIMAL DATA' 00264000
- DC CL21'FIXED-POINT OVERFLOW' 00265000
- DC CL21'FIXED-POINT DIVIDE' 00266000
- DC CL21'DECIMAL OVERFLOW' 00267000
- DC CL21'DECIMAL DIVIDE' 00268000
- DC CL21'EXPONENT OVERFLOW' 00269000
- DC CL21'EXPONENT UNDERFLOW' 00270000
- DC CL21'SIGNIFICANCE' 00271000
- DC CL21'FLOATING-POINT DIVIDE' 00272000
- SVC2 EQU 2 @V305066 00272100
- SPACE 00273000
- LTORG 00274000
- PGMSECT 00276000
- NUCON 00277000
- FVS 00278000
- SVCSAVE 00279000
- DMSABW @V305066 00280000
- DOSAVE @V305066 00280100
- SYSCOM @V305066 00280200
- BGCOM @V305066 00280300
- PIBTAB @V305066 00280400
- SVUARA DSECT USER SAVE AREA @V305066 00280500
- SVUPSW DS F FIRST HALF PSW @V305066 00280600
- SVUPSW2 DS F SECOND HALF PSW @V305066 00280700
- SVUR00 DS 9F REGISTERS 0-8 @V305066 00280800
- SVUR09 DS 7F REGISTERS 9-15 @V305066 00280900
- END 00281000
ibm/vm370-lib/cms/dmsitp.assemble_src.txt ยท Last modified: 2023/08/06 13:35 by Site Administrator