This document presents the Macro-10 assembly language source code for DLSINT, an interrupt service routine for the Data Line Scanner (DLS) on a DECsystem-10 (DC10) computer. Dated June 4, 1969, and copyrighted by Digital Equipment Corporation, the routine provides a modular hardware interface for either a scanner (SCNSER) or a Teletype-like serial device (TTYSER).
Key functionalities and components include:
SCNINI): Resets the DLS device and assigns a Program Interrupt (PI) channel upon system startup or explicit call.SCNINT): The main entry point for handling DLS interrupts. It determines if an interrupt is for receive or transmit, retrieves character and line information (CHREC), checks if the line is enabled, and dispatches to appropriate handlers (RECINT or XMTINT).TCOMM, INUSE): Shared code for both character-at-a-time (CTY) and scanner interrupt handling. These routines manage device data block assignment, check line enablement, determine if a line is a pseudo-console or self-echoing, and prepare data for transmission or reception.SCNTYP): A dedicated routine for outputting a character on a line (transmit). It sets up the line number, ensures transmission is not disabled, and sends the character to the DLS.240. Various internal registers and constants are defined for managing character data (CHREC), device data blocks (DDBDEVDAT), line numbers (LINETAAC1), and control flags (e.g., RCVBIT for receive interrupts, TDSABL for transmit disable).The document details accumulator assignments, byte pointers, and a comprehensive symbol table with cross-references, reflecting a low-level, hardware-interacting assembly program for managing input/output from a data line scanner or similar serial device.
Site structure and layout ©2025 Majenko Technologies