Sunday, 28 February 2010

Emulating the Manchester SSEM

display from my Manchester SSEM emulator
The Manchester Small-Scale Experimental Machine was the first computer to store programs in memory and was built at the University of Manchester in 1948 by Williams, Kilburn and Toothill.

The machine had 32 words of 32 bit memory, one register and supported 7 instructions:

000JMPs, CJump
100JRPc+s, CRelative Jump
010LDN-s, ALoad and Negate
110STOa, SStore
001SUBa-s, ASubtract
011CMPTestSkip if Negative
111STOPStopHalt Machine

With only 7 instructions the SSEM makes an ideal system for an emulation project. A basic simulator can be written in under 40 Intel x86 instructions. If you're tempted to write your own, the SSEM Reference Manual will come in handy. :-)

1 comment:

  1. See - from this post, it appears that 101 isn't defined and could be a secret opcode. But the manual given in that link above says it actually worked the same as 001.