This document serves as a programming manual for MACRO-6, an assembly language designed for the PDP-6 computer. It comprehensively outlines the language fundamentals, statement types, macro capabilities, relocation and linking mechanisms, error handling, and assembly output formats.
The manual begins by detailing the basic elements of MACRO-6 programs, including the character set, the function of the location counter, and the structure of elements such as symbols, numbers, text, literals, and expressions, along with rules for their evaluation. It then categorizes statements into comment, instruction, data, and assembler control types. Instruction statements cover primary, I/O, and extended operations, explaining how machine instructions are assembled and how various fields (accumulator, address, index register) are interpreted. Data statements describe codes like DEC, OCT, EXP, XWD, Z, IOWD, POINT, SIXBIT, ASCII, ASCIZ, BLOCK, and BYTE, which define different data formats for memory storage. Assembler control codes, such as REPEAT, IFn (conditional assembly), RADIX, LOC, RELOC, and PHASE, allow programmers to control the assembly process and memory allocation.
Chapter 3 focuses on macros, explaining their definition, how to call them, and advanced features like concatenation, indefinite repeats (IRP), nesting, and redefinition. Program relocation and linking are covered next, detailing how MACRO-6 creates relocatable programs and how the Linking Loader manages address adjustments and inter-program communication using EXTERN, INTERN, and ENTRY symbols. The document also lists various error flags (e.g., multiply defined symbol, undefined code, relocation error) that indicate language usage or program errors during assembly.
Finally, the manual describes the assembly output, which includes an assembly listing of the source program and a binary program available in RIM (read-in mode) or LINK format. The LINK format, suitable for the Linking Loader, uses blocks of data preceded by relocation words to specify how each word's halves should be relocated. The document concludes with the initial states of the assembler and appendices providing a summary of codes, error flags, programming examples, and character sets.
Site structure and layout ©2025 Majenko Technologies