PDP-X Assembler Specifications

Order Number: XX-3A546-59
Volume 43

This document outlines XAP-6, a symbolic assembly program designed to assemble PDP-X programs on the PDP-6 computer, operating under the control of the PDP-6 Time-Sharing Monitor. XAP-6 processes input source programs in two passes, requiring a minimum of 4K (or 8K for the XAP version) of core memory. It is device-independent, allowing users to select standard peripheral devices for input and output files via command strings.

The primary output of the assembler is a binary object program, which can be either relocatable or non-relocatable. This output is designed to be loaded for debugging or execution by the PDP-X Simulator on the PDP-9 (XSIM-9) or by the PDP-X Linking Loader. An optional output listing can be generated, showing both the programmer's source coding and the object code, along with error flags and a symbol table.

Key features and specifications of XAP-6 include:

  • Design Goals: XAP-6 aims for downward compatibility with the eventual PDP-X assembler (XAP) and ensures 100% language compatibility for source programs, implemented in a modular form for maintainability.
  • Program Structure: Supports labels, operators, operands, and comments with a virtually format-free input.
  • Data Handling: Interprets numbers as signed or unsigned integers, double precision, or floating-point numbers, supporting various radices (default octal). It also includes binary shifting and expressions with arithmetic and boolean operators.
  • Addressing Modes: Provides direct, indirect, and indexed addressing. It handles literals for direct data representation, with mechanisms for pooling short-form literals.
  • Pseudo-Operations: A rich set of pseudo-ops allows for defining user-created operators (EOPDEF), reserving memory (BLOCK), manipulating bytes (VFD, LBYTE, RBYTE), handling ASCII text (ASCII, ASCIC, ASCIP, ASCIPC), controlling the location counter (LOC, MORG), and managing program start/end (TITLE, END).
  • Subroutine Linkage: Facilitates linking separate programs through INTERN and EXTERN pseudo-ops for global symbol declarations.
  • Conditional Assembly: Supports conditional assembly of code sections based on various conditions using IF/ENDC statements.
  • Error Handling: Provides extensive error flagging in the assembly listing and generates operator error messages for issues like command string errors or insufficient core.
  • Software Interface: Performs I/O functions via calls to the PDP-6 Time-Sharing Monitor and is designed to be re-entrant.

Due to size constraints, XAP-6 does not implement features such as hexadecimal numbers, Radix 50, or automatic optimization. However, it offers advantages like device independence, comprehensive error checking, and flexible memory utilization for symbols, literals, and macros.

XX-3A546-59
May 1968
54 pages
Quality

Original
2.4MB

Site structure and layout ©2025 Majenko Technologies