This document contains two main sections providing technical documentation for programming tools on the OS/78 operating system:
Chapter 5: The PAL8 Assembler
- Overview: PAL8 is a two-pass assembler that converts ASCII source programs into binary object files.
- Operation: Users can assemble, load, and run programs using commands like
PAL, LOAD, SAVE, and R. The assembler supports multiple input files and uses specific file extensions (e.g., .PA, .BN, .LS).
- Features: It includes a comprehensive instruction set (memory reference, microinstructions), supports symbol table management (including user-defined symbols and direct assignments), handles literal and link generation, and provides extensive error reporting.
- Pseudo-operators: The assembler includes several directives for controlling assembly, such as
FIELD for extended memory, RELOC for code relocation, ZBLOCK for memory reservation, and conditional assembly pseudo-ops.
Chapter 7: FORTRAN IV
- Overview: This chapter describes the FORTRAN IV programming system, which includes a compiler, loader, run-time system, and library.
- Workflow: Creating and running a FORTRAN program involves using the Editor to write source code, the
COMPILE command to generate relocatable code, the LOAD command to link modules and assign memory, and the EXECUTE command to run the final image.
- Language Syntax: The document covers FORTRAN language elements, including data types (integer, real, logical, octal), constants, variables, array declarations, and expression evaluation hierarchies.
- Control Statements: Detailed explanations are provided for control flow statements, including various forms of
GOTO (unconditional, computed, assigned), IF statements (arithmetic and logical), and DO loops.
- I/O Operations: Comprehensive information on input/output management is provided, including
READ, WRITE, DEFINE FILE, BACKSPACE, ENDFILE, and REWIND statements, along with extensive detail on FORMAT statements and field descriptors for data editing.
- Library Functions: The document concludes with descriptions of available library functions and subroutines (mathematical, trigonometric, and utility routines).