![display from my Manchester SSEM emulator](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjed_g7vG_7Al-SYCMxI9eAgeZQ56MmpAY6XX2UcS6LM7RIOoQD4HOTFrMZLrDWBPaINyV4ii2hYZg9_BzV-pb7PC3X9Otese__NUQZFh66mqOwSbTA_Fvkwev4mKzolHDk2OtnBFFUIv8/s320/manchester_ssem1.png)
The machine had 32 words of 32 bit memory, one register and supported 7 instructions:
000 | JMP | s, C | Jump |
100 | JRP | c+s, C | Relative Jump |
010 | LDN | -s, A | Load and Negate |
110 | STO | a, S | Store |
001 | SUB | a-s, A | Subtract |
011 | CMP | Test | Skip if Negative |
111 | STOP | Stop | Halt 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. :-)
See http://retrocode.blogspot.com/2009/11/secret-opcodes-of-8-bit-processors.html - 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.
ReplyDelete