Welcome to Computer Systems, by J. Stanley Warford, where you can learn about the textbook and download resources.

What’s New – Pep/9 Assembler and Simulator

Version 9.3.0

This version fixes the following bugs.

  • The ROLA instruction no longer (erroneously) requires an operand.
  • In the heap trace, reversed the order of elements to match figures in the textbook.
  • Added help documentation for memory-mapped IO.

This version provides the following improvements.

  • Improved simulation performance of the operating system.
  • Implemented Hi-DPI support for Mac OS X.
  • Apple signed app for Mac OS X.

Version 9.2

This version is the result of a refactorization that consolidates the code from four different applications – Pep/9, Pep/9 CPU, Pep/9 Terminal, and Pep/9 Micro – into a single suite of software for ease of maintenance. This release introduces two new features in the Pep/9 application.

  • The user interface to the symbolic debugging system is enhanced to be more representative of commercial systems. Users now have the option to step over or step into function calls, and step out of function calls. Single stepping through an application is now consistent with single stepping through the operating system.
  • There is a new Statistics tab that compiles statement execution counts after a run for each instruction with sub-counts for each addressing mode.

Version 9.1

Fixed a bug that did not allow user-defined trap instructions in some situations.

Version 9.0

Version 9.0 is the first release of the Pep/9 assembler and simulator, for use with the fifth edition of Computer Systems. Pep/9 differs from Pep/8 as follows:

  • The return statement RET replaces the old statement RETn. Local variables are now explicitly deallocated with the ADDSP instruction.
  • Input/Output is memory-mapped. CHARI and CHARO are no longer in the instruction set. CHARI is replaced by a load byte from the input device address and CHARO is replaced by a store byte to the output device address.
  • Pep/9 has a new compare byte instruction CPBr that sets the status bits without regard to the high-order byte of the register, and a new trap instruction HEXO that outputs a word as four hexadecimal digits.
  • The instruction mnemonics are improved and more consistent with each other. For example, the load word instruction mnemonic is LDWr and the load byte instruction mnemonic is LDBr.

Other features of Pep/9 are unchanged. Specifically, the machine has the same eight addressing modes, the same addressing-aaa fields, the same register-r fields, etc. The application is a modification of the latest version of the Pep/8 application.