This document is an assembly listing for DCSINT, an Interrupt Service Routine (ISR) designed for a Digital Equipment Corporation (DEC) Data Communication System 630. Developed in 1969, it provides a modular hardware interface to either "SONSER" (scanner) or "TTYSER" (Teletype/terminal serial communication) devices.
The routine's primary functions include:
- Device-Dependent Initialization: Sets up the communication system, releases transmitters and receivers, and assigns interrupt channels.
- Interrupt Handling: Processes incoming data from various sources (scanners, terminals), checking flags for receiver/transmitter activity and scanner input.
- Data Management: Uses specific accumulator assignments for internal data such as characters, device data block addresses, scanner line numbers, and TTY horizontal positions.
- Common Service Routines: Contains shared logic for both character-at-a-time (CTY) and scanner interrupt services, including handling data block assignments, searching for free TTY devices, and managing "pseudo console" operations.
- Communication Mode Management: Supports different communication modes like half-duplex, full-duplex, and character echoing.
- Character Output: Includes a routine to output characters on a line, controlling scanner program interrupts (PI) and saving characters for full-duplex operation.
The document concludes with a symbol table listing all defined labels, variables, and external references within the program.