Book 2

Assembling the Source Program

Order Number: XX-D7B5D-4A

This document details the MACRO-10 symbolic assembly program for the PDP-10, a two-pass, device-independent assembler designed to run in a minimum of 5K core memory. Its primary function is to translate source program statements into binary machine code, manage symbolic and numeric values, and assign memory addresses (absolute or relocatable). It also generates program listings, including error notifications.

Key features and functionalities described include:

  • Language Elements: Definition of MACRO-10 language statements, including labels, operators, operands, and comments, along with rules for symbol creation and interpretation.
  • Data Representation: Handling of numbers in various radices (binary, octal, decimal), floating-point and fixed-point decimal numbers, binary shifting, and arithmetic/logical expression evaluation.
  • Address Management: Mechanisms for address assignment, including the location counter, indirect addressing, indexing, and literals (direct data representation).
  • Pseudo-Operations (Pseudo-ops): A comprehensive list of assembler directives that control various processing operations. These include:

    • Address Mode: RELOC for relocatable and LOC for absolute addressing.
    • Data Entry: RADIX, DEC, OCT, RADIX50, EXP, and Z for entering data in different formats and bases.
    • Data Word Formatting: BYTE for variable-length bytes, POINT for byte pointers, IOWD for I/O transfer words, and XWD for two half-words.
    • Text Input: ASCII, ASCIZ, and SIXBIT for various character string formats.
    • Storage Reservation: Using # for single locations and BLOCK for blocks of memory.
    • Conditional Assembly: IF statements (IFE, IFG, IFIDN, etc.) to include or exclude parts of the source code based on specified conditions.
    • Assembler Control: END to terminate assembly, PASS2 to switch to the second assembly pass, LIT and VAR for literal/variable assembly, PURGE to delete symbols, and various listing control statements (TITLE, PAGE, XLIST, LALL, etc.).
    • Custom Operators: OPDEF for defining user-specific operators and SYN for creating symbol synonyms.
  • Macros: Detailed explanation of macro definition using DEFINE, macro calls with argument substitution, generation of unique created symbols (..hijk), concatenation with apostrophes, and indefinite repeat operations (IRP, IRPC, STOPI).

  • Linking Subroutines: Directives like EXTERN, INTERN, and ENTRY to facilitate communication and linking between different program segments and libraries.
  • Error Detection: Description of the assembler's error checking capabilities, including single-letter codes on listings and fatal Teletype error messages, with a list of common error codes and their meanings.
  • Relocation: Explanation of how the assembler produces relocatable object programs, detailing how addresses are adjusted by the PDP-10 Loader using a relocation constant and outlining rules for relocatability in expressions.
  • Assembly Output: Information on the two main outputs—binary programs and program listings—and the various binary output formats supported: LINK format for relocatable programs (structured in blocks with relocation data) and absolute binary formats like RIM, RIM10, and RIM10B for non-relocatable programs, each with specific loading characteristics.

Appendices further summarize pseudo-ops, character interpretations, expression evaluation, text codes, RADIX 50 representation, macro rules, and operating instructions.

XX-D7B5D-4A
2000
96 pages
Quality

Original
2.4MB

Site structure and layout ©2025 Majenko Technologies