1. SSEM simulator usage¶
- Date:
2011-05-14
- Revision:
$Format:%H$
- Copyright:
See LICENSE.txt for terms of use.
This memorandum documents the SSEM simulator.
1.1. Simulator files¶
sim/scp.hsim_console.hsim_defs.hsim_fio.hsim_rev.hsim_sock.hsim_timer.hsim_tmxr.hscp.csim_console.csim_fio.csim_sock.csim_timer.csim_tmxr.csim/ssem/ssem_defs.hssem_cpu.cssem_sys.c
1.2. SSEM features¶
The SSEM is configured as follows:
Device names |
Simulates |
|---|---|
|
SSEM CPU with 32 words of memory |
The LOAD and DUMP commands are implemented.
They use a binary file with the extension .st (“store”).
1.2.1. CPU¶
The CPU implements Manchester SSEM (Small Scale Experimental Machine):
Memory size is fixed at 32 words. Memory is 32b wide.
CPU registers include the visible state of the processor system.
Name |
Size |
Comments |
|---|---|---|
|
5 |
Current instruction |
|
32 |
Accumulator |
1.3. Symbolic display and input¶
The SSEM simulator implements symbolic display and input. Display is controlled by command-line switches:
|
Display as hexadecimal |
|
Display as decimal |
|
Display as backwards binary. Least significant bit first. |
|
Display instruction mnemonics |
Input parsing is controlled by the first character typed in or by command-line switches:
opcode instruction mnemonic
There is only one instruction format:
op address
Instructions follows the mnemonic style used in the 1998 competition reference manual, The Manchester University Small Scale Experimental Machine Programmer’s Reference manual.
op is one of the following JMP, JRP, LDN, STO, SUB, CMP or STOP.
A linear address is one decimal number between 0 and 31.
For example:
sim> d -m 31 LDN 21
sim> ex -m 31
31: LDN 21
sim> ex -h 31
31: 00004015
sim> ex -b 31
31: 10101000000000100000000000000000
sim> ex -d 31
31: 16405