BitScope Instruction Set

The virtual machine's 42 single-byte op-codes are listed below grouped by function.

Machine Control.
 0x00Reset the Virtual Machine. Print the Byte-Code number.
?0x3FPrint the 8 character string identifying the revision.
 
Data Entry.
[0x5BClear R0. Usually commences byte entry.
0..90x30..0x39Increment R0 by the digit specified and nibble swap.
a..f0x61..0x66Increment R0 by the hex digit specified and nibble swap.
]0x5DSwap nibbles in R0. Usually concludes byte entry.
 
Register Operations.
@0x40Set Address Register R1.
#0x23Set Source Address Register R2.
s0x73Store byte R0 to register (R1).
l0x6CLoad byte from register (R2) to R0.
n0x6EIncrement Address Register R1.
p0x70Print register (R1).
+0x2BIncrement register (R1).
-0x70Decrement register (R1).
 
Capture Engine Operations.
<0x3CCapture Spock Counter to R9,R10.
>0x3EProgram Spock Registers from R3...R7.
T0x54Trace until trigger + delay, then print Spock Counter.
D0x44Delay until trigger and Trace, then print Spock Counter.
L0x4CTrace Logic until trigger, then print Spock Counter.
S0x53Sample dump (CSV format, analogue & digital data).
M0x4DMixed memory dump (Binary format, analogue & digital data).
E0x45Scan for Event, then print Spock Counter.
A0x41Analog memory dump (Binary format, analogue data).
P0x50Measure time Period.
u0x75Update RAM pointers R3,R4 to R9,R10.
 
EEPROM & POD.
|0x7CTransmit byte in R18 to POD IO-0.
r0x52Read EEPROM byte at address (R17) and print.
w0x57Write byte R16 to EEPROM address (R17).