Summary
In this chapter, we have extended our overview of simulator design. We started with one of the simplest simulators of them all, the zero-address machine; that is, the stack computer, TC0. This simulator is not a true computer, because it does not include conditional and branch operations. However, it demonstrates the use of the stack as a means of performing chained calculations.
We then looked at the instruction set architecture (IAS) of a classic 8-bit computer, with its simple one-address instruction format, where all operations are applied to a single accumulator (i.e., register) and the contents of a memory location or a literal.
The one-address machine is followed by the simulation of a multi-register CISC ISA that allows operations between two registers or between a register and the contents of a memory location. The simulator we developed had a 22-bit address just to demonstrate that you can have instructions of any width.
We also looked at the simulator of...