I sometimes give seminars on the history of computing machines and like to use an Elm simulation of an 8-bit version of the Manchester Small-Scale Experimental Machine (SSEM). The one below is useable and there is a full page version here.
It has a memory of 32 8-bit words, an 8-bit accumulator and a 5-bit program counter. Unlike the original it doesn’t increment the program counter before executing the instruction so is a bit easier to describe and program.
The instruction set and encoding is the same as the original machine.
|JMP S||Jump to address at S||000*****|
|JRP S||Jump to program counter + value at S||100*****|
|LDN S||Load and negate value at S into accumulator||010*****|
|STO S||Store contents of accumulator at S||110*****|
|SUB S||Subtract number at S from accumulator||101*****|
|CMP S||Skip next instruction if accumulator is negative||011*****|