Programming Manual Macro-6 Assembly Language PDP-6

Order Number: XX-24E5A-5A

This document serves as a programming manual for the MACRO-6 Assembly Language on the PDP-6 computer. It details the fundamental components of the language, statement types, macro capabilities, relocation and linking mechanisms, error handling, and assembly output formats.

The manual begins by outlining the language fundamentals, including the MACRO-6 character set, the role of the location counter, and various elements such as symbols, numbers (with different radices and floating-decimal options), text, and literals. It explains how expressions are formed using arithmetic and Boolean operators and how symbols are evaluated through labels, direct assignments, or variables.

Next, it describes the four types of statements: comment, instruction (primary, I/O, and extended), data, and assembler control statements. Instruction statements are used for PDP-6 machine instructions, specifying accumulator, address, and index fields. Data statements define various data formats, including decimal, octal, transfer words, I/O transfer words, byte pointers, and ASCII character strings. Assembler control codes provide directives for repeating code, conditional assembly, setting the radix, managing the location counter (LOC, RELOC, PHASE), controlling symbol table output, and defining operation mnemonics or synonyms. Listing control codes manage the assembly output listing.

The document then delves into macros, which allow for the definition of reusable code sequences with dummy arguments. It covers macro calls, the generation of unique "created symbols" within macros, string concatenation, indefinite repeat operations, and the nesting and redefinition of macros.

Relocation and linking are discussed, explaining how the MACRO-6 assembler produces relocatable programs by adding a relocation constant at load time. It defines rules for determining the relocatability of elements within expressions and introduces codes like EXTERN, INTERN, and ENTRY for linking subroutines and managing external/internal symbol references.

Error flags are described, categorizing errors into language usage and program errors, with flags such as 'M' for multiply defined symbols or 'R' for relocation errors. Finally, the manual details the assembly output, which includes an assembly listing and a binary program. The binary program can be in RIM (Read-In Mode) format for paper tape or LINK format, which is relocatable and used by the Linking Loader for subprogram loading, relocation, and symbol linking, utilizing various block types and Radix 50 representation for symbols. The document concludes by outlining the assembler's initialization states for each assembly run and provides appendices with lists of codes, error flags, programming examples, and character sets.

XX-24E5A-5A
February 1965
60 pages
Quality

Original
1.0MB

Site structure and layout ©2025 Majenko Technologies