This document is an assembly language listing for an error handling routine named ERRCON, dated August 9, 1965. It outlines a comprehensive set of routines designed to detect, classify, and respond to various errors encountered by a monitor program in a computer system.
Key functionalities include:
- Address and Memory Protection Checks: Routines like ADRCK and ADRERR verify memory access validity, prevent writes to protected areas, and handle illegal memory references or PC (Program Counter) excursions beyond memory bounds.
- Program and Data Management Errors: It addresses issues related to program overlay (POVF), protection violations (POVC), and manages process dispatching and clock functions.
- Device and Directory Error Handling: Specific routines (ERNAM, DIRERR) identify and manage errors originating from device operations or bad directory structures.
- General Internal and Unexplained Errors: ERRDIS acts as a dispatcher for various internal errors, while a general ERROR routine captures unexplained system faults, logs their location, and reports them to the operator's console.
- Input/Output (I/O) Violations: A large section is dedicated to handling illegal I/O conditions, such as attempts to perform I/O on unassigned channels, illegal device data modes, or invalid instructions (ILLINP, ILLOUT, IOIERR).
- Unimplemented User Operations (UUO): The UUOERR routine handles calls to unimplemented operations, distinguishing between user and executive-level calls to provide appropriate diagnostics.
- Utility Routines: Several helper routines (MESPNT, ANYRDX, RADX10) are included for printing messages, displaying numbers in various radixes, and assisting with debugging output.
Overall, the document details a critical component of an operating system's robustness, ensuring system stability by intercepting errors, diagnosing their cause, and providing structured responses or diagnostic information.