This document details the PAL8 assembler, a two-pass assembler for the OS/78 Operating System that generates binary object files from ASCII source programs.
Key features and procedures covered include:
- Assembler Process: The two-pass assembly process (producing a symbol table in pass 1 and generating binary code in pass 2), with an optional third pass for generating assembly listings.
- Command Usage: The
PAL command is used to invoke the assembler. It details command string syntax, file name extensions (.PA, .BN, .LS, .TM), and how to specify output devices.
- Creating and Running Programs: A step-by-step guide is provided for using the OS/78 Editor to create a source file, assembling it, loading it into memory, and executing it.
- Advanced Features: The document explains the use of the
CREF (Cross-Reference) program for debugging and the MAP command for generating memory maps.
- Options: A comprehensive table of PAL8 command-line options (e.g., /B, /C, /G, /L, /S, /T) is provided to control assembly, listing, and loading behavior.
- Language Syntax: Detailed information on the PAL8 character set, statement structure (label, instruction, operand, comment), numeric interpretation, symbol definitions (permanent and user-defined), and the current location counter.
- Addressing and Operators: Explanation of memory reference instructions, indirect and page-zero addressing, autoindexing, and operators for expressions (arithmetic, Boolean, and bitwise).
- Pseudo-Operators: Descriptions of assembler directives for extended memory management (
FIELD), location counter control (PAGE, RELOC), memory reservation (ZBLOCK), symbol table management (EXPUNGE, FIXTAB, FIXMRI), and conditional assembly (IFDEF, IFNDEF, etc.).
- Error Handling: A guide to diagnostic error messages, listing formats, and a summary table of error codes to aid in debugging.
The document also includes a section (Chapter 7) providing an overview of FORTRAN IV, including compiling, loading, and executing FORTRAN programs, as well as language specifications and I/O handling.