This document is a technical reference detailing various Input/Output (IO) and common system subroutines for a DEC (Digital Equipment Corporation) computer system, likely from the mid-1960s. It provides assembly-level listings, descriptions, and operational details for each routine.
The document covers the following key functionalities:
- Buffer Management (ADVBFE, ADVBFF, BUFCLC, BUFCLR, CLRBYT): Routines for advancing buffer addresses, managing buffer usage flags, setting up buffer rings, and clearing buffer contents.
- ASCII and Data Handling (ASCIA, SETBYT): Functions for performing arithmetic operations on ASCII numbers and setting byte size parameters based on data modes (e.g., Binary, Image, ASCII Packed).
- Device Assignment and Management (ASSIN, ASSASG, IORELS, IOALL, IOKILL): Subroutines for searching and assigning devices to jobs, releasing devices, and initiating IO operations for all assigned devices.
- Interrupt and System Service (IOSET, UINTQ): Routines for handling device-related operations from an interrupt service routine and processing UUO (User Unallocated Output) calls.
- Item and Count Management (ITMSET, ITMCNT, ITMCT1): Functions to calculate and set item counts based on buffer, word, and byte sizes.
- Data Storage and Checksum (STODAT, STOSQD, CKS12): Routines for storing data items into buffers, performing checks based on data modes, and calculating folded 12-bit checksums for data integrity.
- Device Status (SETIOS): A routine to set and validate device status words.
Each subroutine entry typically includes its calling sequence, exit conditions, monitor interface details (storage, symbols, accumulators used), and a detailed assembly code listing with comments. The document concludes with a comprehensive symbol table, listing all internal and external symbols with their memory addresses and types. This serves as a vital low-level programming guide for interacting with the system's IO and common services.