Programmable digital computers execute software written in a variety of programming languages. Most software written today is written in a high-level language processed by a compiler or interpreter. The central processing units (CPUs) of computers actually process lower-level instructions produced by the compilers and interpreters. In earlier decades software programmers worked directly with the CPU instructions using Assembly Language.
To fully appreciate the power and convenience of high-level programming languages, and the service provided by compilers and interpreters, spend some time writing an algorithm in assembly language.
The Digital Equipment Corp. PDP-8 is considered the first successful mini-computer in the Western Hemisphere. The PDP-8 was often used for instrumentation and process control applications by small laboratories, who considered the original USD $18,000 price tag a bargain in the mid-1960’s. For comparison, the modern open source hardware Arduino micro-controller serves the same purpose for between $25 and $100, depending on the model.
Brian Shelbourne of Wittenberg University has written a PDP-8 emulator which he uses in his computer organization course.
This emulator is written using Borland Turbo Pascal version 6.0 and runs in MS-DOS. The simplicity of the PDP-8 architecture, and the elegance of Turbo Pascal, allows the emulator program size to be only 85 K.
PDP-8 Assembly Language
The original PDP-8 models were implemented using discrete diode-transistor logic, with following models using transistor-transistor logic. Digital Equipment Corp. mounted several components onto a printed circuit board dubbed a Flip-Chip module. This approach was soon superseded by integrated circuit technology, but was a breakthrough approach in the 1960’s.
Here is an image of the PDP-8 chassis with its Flip-Chip module boards: http://www.vandermark.ch/pdp8/uploads/PDP8/PDP8.Hardware/pdp8-boards.jpg (Note that this is a later model PDP-8 and the Flip-Chip boards in this image contain some small-scale integrated circuit chips along with discrete electronic components.)
In order to keep the Flip-Chip module count to a minimum, the PDP-8 instruction set was extremely minimal even for its day. This minimalism provides an excellent teaching environment for the basics of digital software computation.
Here is a primer for the PDP-8 Assembly Language, also known as PAL:
Pre-Configured PDP-8 Emulator Assembly Language Studio
This GitHub project provides a teaching environment to learn assembly language programming against the Digital Equipment Corp. PDP-8.
For more details, refer to the “Read Me” file of the GitHub project.