Summary
This document provides a comprehensive guide to programming the PDP-8/E computer system. The text is organized into three primary sections detailing memory management, programming operations, and input/output procedures.
Key topics covered include:
- Memory Addressing: Explains the organization of core memory into pages, the use of octal notation for addresses, and the specific reservation of memory locations for program counters and interrupts.
- Instruction Set and Operations: Details the use of memory reference instructions, indirect addressing, and how the programmer can manually manage subroutines and memory pointers. It also covers arithmetic (two's complement) and logic operations.
- Programming Techniques: Discusses the use of loops, conditional skips for program branching, and "housekeeping" to efficiently manage memory and improve program performance.
- Microprogramming: Explains how "operate" microinstructions can be combined to perform multiple operations within a single instruction, along with rules for valid and illegal combinations.
- Software Systems: Describes the PDP-8/E ecosystem, including available Assemblers (PAL-III, PAL-D, MACRO-8, SABR), Compilers (DIBOL, FORTRAN), Interpreters (FOCAL, BASIC), and specialized software packages like INDAC-8 and Edusystems 10–50 for educational and lab environments.
- Data Transfers: Outlines methods for moving data between the processor and peripherals, distinguishing between programmed I/O (using interrupts and flags) and Data Break (Direct Memory Access or DMA) transfers for high-speed devices. Detailed examples and flow charts illustrate these hardware-software interactions.