dpdint

Order Number: XX-4E5DE-6D

This document provides the MACRO-10 assembly language source code for the "DPDINT Data Products Disk Interrupt Service" routine, developed by Digital Equipment Corporation in 1969 for PDP-10 systems.

The primary purpose of this code is to manage low-level disk I/O operations and handle associated interrupts. Key functionalities include:

  1. Initiating Disk Write (DFWRT) and Read (DFRED) Operations: These routines prepare the disk for data transfer, setting up appropriate I/O words (containing buffer information), and issuing control commands to the disk hardware. They determine the type of operation (read or write) and enable necessary system interrupts.
  2. Handling Disk Interrupts (DSKINT): This is the central interrupt service routine, activated upon a "sector-end" flag from the disk. It performs comprehensive error checking (e.g., for write-lock, data missed, parity, address errors) and saves the system's volatile state. Depending on the completion status and any detected errors, it either continues the current job, returns control to a device-independent package, or flags an error.
  3. Logical to Physical Sector Conversion (CNVBLK): A crucial subroutine responsible for translating a logical block number (provided by the calling program) into the physical sector address required by the disk hardware. It includes validation against a LBHIGH (highest legal logical block number) parameter to prevent out-of-range access.
  4. Disk Initialization (DISKUP): This routine ensures the disk is turned on and ready for operation, zeroing relevant control words and enabling program interrupts.

The code extensively uses accumulator/register operations (like TAC and TAC1) to pass parameters and manipulate disk control blocks (DCB) and data. It leverages direct I/O control instructions (CONO, CONI, HRRI, IORI) typical of assembly-level device drivers of that era. The document also includes a detailed "DISK & DCB FLAGS" section, defining numerous symbolic constants for various error conditions and control bits, which are integral to the routine's error handling and state management.

XX-4E5DE-6D
April 2008
15 pages
Quality

Original
0.3MB

Site structure and layout ©2025 Majenko Technologies