To use this example of MU0 use the red address switches (11..0) to set a memory address. Click the "lat" switch to latch the address. The data lamps will display the contents of that memory location. Use the instruction and address switches to build an instruction or data, use the "sto" switch to load that data to memory.
MU0 will load and execute 1 instruction per clock
"rs" will reset the program counter and clear the console.
"run" will start/stop the program clock generator
"ss" will generate 1 clock
On the Stage script tab there is an init script. The first steps in that script set environment variables for speed and memory size(malloc)
*** note that because Scratch starts list addressing at 1 and not 0 the first program counter starts at 1
MU0 is a simple computer using only binary and having only 1 data register and 8 instructions (with built-in expansion for 8 more)
Instructions consist of 4 instruction bits and 12 address bits. Load, store, add and subtract all use direct addressing (the memory location is part of the instruction), there is no immediate data. Jump, jump greater/equals and jump not zero all use immediate data for the next instruction address.
0 LDA S Acc := [S]
1 STO S [S] := Acc
2 ADD S Acc := Acc + [S]
3 SUB S Acc := Acc ? [S]
4 JMP S PC := S
5 JGE S If Acc >= 0, PC := S
6 JNE S If Acc ? 0, PC := S
7 STP Stop
MU 0 is a theoretical computer designed by Manchester University Computer department and was used to demonstrate central processor architecture to undergraduates.
All art work (except fonts) and scripting by me.
Coming soon same thing but pre loaded with maths library. Also one set to calculate pi.