00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

ORRRP [op_type 4]

Opcode Register Register Register [Options]
6-bits 6-bits 6-bits 6-bits 8-bits

Instructions that use the ORRRP bit layout

AF
AF $R1 $R2 $R3
Add the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
AI
AI $R1 $R2 $R3
Add the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are integers.
CA
CA $R1 $R2 $R3
Binary AND operation between the bit values in register $R2 and register $R3 then place results into register $R1.
CO
CO $R1 $R2 $R3
Binary OR operation between the bit values in register $R2 and register $R3 then place results into register $R1.
CP
CP $R1 $R2
Copy the contnents of register $R2 into register $R1
CX
CX $R1 $R2 $R3
Binary XOR operation between the bit values in register $R2 and register $R3 then place results into register $R1.
DF
DF $R1 $R2 $R3
Divide the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
DI
DI $R1 $R2 $R3
Divide the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are integers.
MF
MF $R1 $R2 $R3
Multiply the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
MI
MI $R1 $R2 $R3
Multiply the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are integers.
RF
RF $R1 $R2 $R3
Find the remander of the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
RI
RI $R1 $R2 $R3
Find the remander of the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are integers.
SF
SF $R1 $R2 $R3
Subtract the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
SHL
SHL $R1 $R2 $R3
Shift the bits in register $R2 to the left by the integer value in register $R3 and place results into register $R1.
SHR
SHR $R1 $R2 $R3
Shift the bits in register $R2 to the right by the integer value in register $R3 and place results into register $R1.
SI
SI $R1 $R2 $R3
Subtract the bit value in register $R2 with register $R3 and place results into register $R1. Treat the values in the registers as if they are integers.

ORRT [op_type 5]

Opcode Register Register Tag
6-bits 6-bits 6-bits 14-bits

Instructions that use the ORRT bit layout

BE
BE $R1 $R2 <TAG>
Branch if the value in register $R1 is equal to register $R2. Go to code location where <TAG> is defined.
BGF
BGF $R1 $R2 <TAG>
Branch if the value in register $R1 is greater than the value in register $R2. Go to code location where <TAG> is defined. Treat values in registers as floating point values using the IEEE 754-1985 specification.
BGS
BGS $R1 $R2 <TAG>
Branch if the value in register $R1 is greater than the value in register $R2. Go to code location where <TAG> is defined. Treat values in registers as signed integers
BGU
BGU $R1 $R2 <TAG>
Branch if the value in register $R1 is greater than the value in register $R2. Go to code location where <TAG> is defined. Treat values in registers as unsigned integers
BLF
BLF $R1 $R2 <TAG>
Branch if the value in register $R1 is less than the value in register $R2. Go to code location where <TAG> is defined. Treat values in registers as floating point values using the IEEE 754-1985 specification.
BLS
BLS $R1 $R2 <TAG>
Branch if the value in register $R1 is less than the value in register $R2. Go to code location where <TAG> is defined. Treat values in registers as signed integers
BLU
BLU $R1 $R2 <TAG>
Branch if the value in register $R1 is less than the value in register $R2. Go to code location where <TAG> is defined. Treat values in registers as unsigned integers
BN
BN $R1 $R2 <TAG>
Branch if the value in register $R1 is not equal to register $R2. Go to code location where <TAG> is defined.

ORRV [op_type 7]

Opcode Register Register Value
6-bits 6-bits 6-bits 14-bits

Instructions that use the ORRV bit layout

CAV
CAV $R1 $R2 <0-16383>
Binary AND operation between the bit values in register $R2 and integer value <0-16383> then place results into register $R1.
COV
COV $R1 $R2 <0-16383>
Binary OR operation between the bit values in register $R2 and integer value <0-16383> then place results into register $R1.
CXV
CXV $R1 $R2 <0-16383>
Binary XOR operation between the bit values in register $R2 and integer value <0-16383> then place results into register $R1.
NO
NO $R1 $R2
NOT the value in register $R2 and place the results into register $R1. In other words, flip all the bits.
SHLV
SHLV $R1 $R2 <0-32>
Shift the bits in register $R2 to the left by the integer value <0-32> and place results into register $R1.
SHRV
SHRV $R1 $R2 <0-32>
Shift the bits in register $R2 to the right by the integer value <0-32> and place results into register $R1.

ORM [op_type 8]

Opcode Register Memory
6-bits 6-bits 20-bits

Instructions that use the ORM bit layout

LM
LM $R1 <0-1048575>
Load the memory location <0-1048575> with the bit values from register $R1.
LR
LR $R1 <0-1048575>
Load register $R1 with the bit values from the memory location <0-1048575>.

ORV [op_type 6]

Opcode Register Value
6-bits 6-bits 20-bits

Instructions that use the ORV bit layout

AFV
AFV $R1 <0-1048575>
Add the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
AIV
AIV $R1 <0-1048575>
Add the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are integers.
DFV
DFV $R1 <0-1048575>
Divide the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
DIV
DIV $R1 <0-1048575>
Divide the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are integers.
LC
LC $R1
Clear the value in register $R1. $R1 will have a value of 0 (zero).
LV
LV $R1 <0-1048575>
Load the bit value <0-1048575> into register $R1.
MFV
MFV $R1 <0-1048575>
Multiply the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
MIV
MIV $R1 <0-1048575>
Multiply the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are integers.
NOV
NOV $R1 <0-1048575>
NOT the integer value <0-1048575> and place the results into register $R1. In other words, flip all the bits.
RFV
RFV $R1 <0-1048575>
Divide the bit value in register $R1 with value <0-1048575> and place the remainder results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
RIV
RIV $R1 <0-1048575>
Divide the bit value in register $R1 with value <0-1048575> and place the remainder results into register $R1. Treat the values in the registers as if they are integers.
SFV
SFV $R1 <0-1048575>
Subtract the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are floating point values using the IEEE 754-1985 specification.
SIV
SIV $R1 <0-1048575>
Subtract the bit value in register $R1 with value <0-1048575> and place results into register $R1. Treat the values in the registers as if they are integers.

OT [op_type 2]

Opcode Tag
6-bits 26-bits

Instructions that use the OT bit layout

E
E
Exit execution of the progam.
J
J <TAG>
Jump to code location of <TAG>