—

Quick help

Syntax

One instruction or directive per line, addresses in decimal TTSS (track+sector, 00–63 each):

; a full-line or trailing comment
1000 b 2000        ; <location> <opcode-letter> <address>
1005 dw 5          ; <location> dw <signed-decimal>
start 1000         ; declares the entry point

Opcodes

LetterNameSemantics
z Stop Halts computation.
b Bring acc = mem[addr]
y Store address Replaces mem[addr]'s address-field bits with the accumulator's.
r Return address Stores (this instruction's address)+2 into mem[addr]'s address field — call/return idiom.
i Input Shifts one 4-bit code per step into the accumulator, until 8 characters or a stop code.
d Divide acc = acc / mem[addr], rounded. Overflows outside a magnitude of 1.
n N Multiply acc = low 31 bits of acc * mem[addr] (magnitudes). Left-shifting idiom.
m M Multiply acc = top 30 bits of acc * mem[addr] (magnitudes) + XOR sign. Fractional idiom.
p Print addr's track field (6 bits) is the literal output code — not a memory address.
e Extract acc = acc & mem[addr] (bitwise AND mask).
u Unconditional transfer counter = addr.
t Test Branches to addr if the accumulator is negative.
h Hold and Store mem[addr] = acc; acc unaffected.
c Clear and Store mem[addr] = acc, then acc = 0.
a Add acc = acc + mem[addr] (signed). Overflows outside [-2^30, 2^30-1].
s Subtract acc = acc - mem[addr] (signed). Overflows outside [-2^30, 2^30-1].

Drum timing

3700 RPM = 17ms/revolution, 64 sectors/revolution, 265,625 ns/sector. Every memory access (fetch or operand) pays a rotational wait for the drum to bring the right sector under the head; register-only operations are free. This is the one piece of the real machine's behavior the emulator keeps faithful — see the Drum readout above.

Elsewhere on the site

Your programs are saved in this browser only and are lost if you clear site data. Log in or register to keep them in your account; they'll be moved there automatically.

Tips

The editor doesn't check your program as you type. Press Assemble & Load to find out whether it assembles, on the debugger page.

Files
    Editor