DMSITP, the CMS program interrupt handler, issues error messages when a
program check occurs. If a SPIE or a ST AE has been issued, control is passed
to the specified routine; otherwise control passes to DMSABN to attempt to
recover from the error. If the message DMSITP144T is issued, the UFDBUSY byte is not zero and control is halted after the message is typed. If the wait
state bit is turned off in the PSW, control continues as above. Also, if the error
occurred during the execution of a system routine, control is halted until the
wait state bit is turned off or CMS is re-IPLed.
To determine the registers and PSW at the time of the abend, get the address
of PGMSECT in the nucleus constant area (NUCON X'654'). The old PSW is
stored 12 (X'C') bytes into the DSECT, immediately followed by registers 14, 15,0, 1, and 2. The program interrupt element (PIE), needed by SPIE, prima­
rily uses these areas. Registers 0 through 15 are stored at location X'3 C' into
the DSECT. The SPIE/ST AE routine or the DMSSAR routine uses the other
areas within the DSECT.
Another aid to debugging is the SVC save area (SVCSA VE) for the virtual
machine. Location X'528' in NUCON points to these areas. The save areas
are easily recognizable by the check words 'ABCD' and 'EFGH' contained
within them. The address of the SVC caller is stored at location 4 and the
name of the routine being called is saved at location 8. At location X'10', the
old PSW is stored, followed by the addresses for the normal return and the
error return. The registers 0 through 15 are stored at location X'20', followed
by the floating point register at X'60'. After the first check word ('ABCD'),
the address of the next SVCSAVE area is stored, followed by the address of
the previous SVCSAVE area and the address of the user's area. If the address
of the next or previous SVCSAVE area is zero, the chain is terminated.
Debugging With eMS 535
Appendixes Appendix A: System/370 Information
536 VM/SP System Programmer's Guide
Appendix B: VM Monitor Tape Format and Content
Appendix C: CMS Macro Library
Previous Page Next Page