BASIC and Assembly are both converted into machine code before they can run. It supports loading binary files if you want to make a compiler/language for it.
O - opcode
A - address/argument
O - opcode
A - address/argument
L - number of bits to copy
Legend:
Full name
Op Code
What it does
No Operation
0x0
Does nothing for one tick.
Move A
0x1
Sets the A register to the argument.
Move B
0x2
Sets B to the argument
Move C
0x3
Sets C to the argument
Move F
0x6
Sets F to the argument
Add Address
0x7
Adds A to the value at the specified address
Add Value
0x8
Adds the argument to A
Subtract Address
0x9
Subtracts the value at the specified address from A
Subtract Value
0xA
Subtracts the argument from A
Multiply Address
0xB
Multiplies A by the value at the specified address
Multiply Value
0xC
Multiplies A by the argument
Divide Address
0xD
Divides A by the value at the specified address
Divide Value
0xE
Divides A by the argument
And Address
0xF
ANDs B with the value at the specified address
And Value
0x10
ANDs B with the argument
Or Address
0x11
ORs B with the value at the specified address
Or Value
0x12
ORs B with the argument
Not
0x13
Flips all of B's bits
Exclusive Or Address
0x14
XORs B with the value at the specified address
Exclusive-Or Value
0x15
XORs B with the argument
Compare Address
0x16
Compares C to the value at the specified address, and sets flags accordingly
Compare Value
0x17
Compares C to the argument, and sets flags accordingly
Branch if Greater Than
0x1A
If the argument was greater than C during CMPR, go to specified address
Branch if Less Than
0x1B
If the argument was less than C during CMPR, go to specified address
Branch if Greater or Equal
0x1C
If the argument was greater than or equal to C during CMPR, go to specified address
Branch if Less or Equal
0x1D
If the argument was less than or equal to C during CMPR, go to specified address
Branch if Not Zero
0x1E
If C is not zero, go to specified address
Branch if Equal to Zero
0x1F
If C is equal to zero, go to specified address
Go to
0x20
Continues execution at the specified address
Load A Value
0x21
Sets A to the value at the specified address
Load B Value
0x22
Sets B to the value at the specified address
Load C Value
0x23
Sets C to the value at the specified address
Load F Value
0x24
Sets F to the value at the specified address
Export A Address
0x27
Exports A to the address in the specified address
Export B Address
0x28
Exports B to the address in the specified address
Export C Address
0x29
Exports C to the address in the specified address
Export F Address
0x2A
Exports F to the address in the specified address
Export A Value
0x2B
Exports A to the specified address
Export B Value
0x2C
Exports B to the specified address
Export C Value
0x2D
Exports C to the specified address
Export F Value
0x2E
Exports F to the specified address
Go to subroutine
0x2F
A GOTO that expects a RETURN
Return
0x30
Returns from a subroutine
Load A Address
0x31
Load the value at the address stored at the specified address.
Load B Address
0x32
Load the value at the address stored at the specified address.
Load C Address
0x33
Load the value at the address stored at the specified address.
Load F Address
0x34
Load the value at the address stored at the specified address.
Logical Shift Left Address
0x35
Shift A's bits left by the value at the specified address.
Logical Shift Right Address
0x36
Shift A's bits right by the value at the specified address.
Arithmetic Shift Left Address
0x37
Shift A's bits left by the value at the specified address.
Arithmetic Shift Right Address
0x38
Shift A's bits left by the value at the specified address.
Logical Shift Left Value
0x39
Shift A's bits left by the operand.
Logical Shift Right Value
0x3A
Shift A's bits right by the operand.
Arithmetic Shift Left Value
0x3B
Shift A's bits left by the operand.
Arithmetic Shift Right Value
0x3C
Shift A's bits left by the operand.
Push
0x3D
Pushes the value at the specified address onto the stack.
Pop
0x3E
Pops the most recent item off the stack, and places it in the specified address.
Decrement
0x3F
Subtracts 1 from the value at the specified address.
Increment
0x40
Adds 1 to the value at the specified address.
Call If Equal
0x41
CALLs the specified address if A is 0.
Call If Not Equal
0x42
CALLs the specified address if A is not 0.
Call If Greater Than
0x43
CALLs the specified address if A is greater than 0.
Call If Less Than
0x44
CALLs the specified address if A is less than 0.
Call If Greater Or Equal
0x45
CALLs the specified address if A is greater than or equal to 0.
Call If Less Or Equal
0x46
CALLs the specified address if A is less than or equal to 0.
Clear
0x47
Zero memory between A, and A + the argument.