All instructions and arguments are byte aligned and packed sequentially into bytes.
Takes no arguments, and does nothing for 1 cycle.
Adds the 8-bit values at addresses a
and b
together, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Adds the 16-bit values at addresses a
and b
together, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Subtracts the 8-bit value at address a
from the value at b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Subtracts the 16-bit value at address a
from the value at b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Multiplies the 8-bit values at addresses a
and b
together, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Multiplies the 16-bit values at addresses a
and b
together, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Divides the 8-bit value at address a
by the value at b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Divides the 16-bit value at address a
by the value at b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Bitwise inversion of 8-bit value stored at in
, storing the result at result
.
MemoryAddress in
MemoryAddress result
Bitwise-left-shift of 8-bit value stored at in
by the number of bits stored at bits
, storing the result at result
.
MemoryAddress in
MemoryAddress bits
MemoryAddress result
Bitwise-right-shift of 8-bit value stored at in
by the number of bits stored at bits
, storing the result at result
.
MemoryAddress in
MemoryAddress bits
MemoryAddress result
Bitwise logical AND of 8-bit values stored at a
and b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Bitwise logical OR of 8-bit values stored at a
and b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Bitwise logical exclusive OR of 8-bit values stored at a
and b
, storing the result at result
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Sets the next instruction register equal to addr
.
MemoryAddress addr
Sets the next instruction register equal to the 16-bit address stored at addr_p
.
MemoryAddress addr_p
Compares the 8-bit value stored at a
to the value at b
, is a is greater, set the next instruction register equal to addr
.
MemoryAddress a
MemoryAddress b
MemoryAddress addr
Compares the 16-bit value stored at a
to the value at b
, is a is greater, set the next instruction register equal to addr
.
MemoryAddress a
MemoryAddress b
MemoryAddress addr
Compares the 8-bit value stored at a
to the value at b
, is they are equal, set the 8-bit value at result
to 0x01
, otherwise 0x00
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Compares the 16-bit value stored at a
to the value at b
, is they are equal, set the 8-bit value at result
to 0x01
, otherwise 0x00
.
MemoryAddress a
MemoryAddress b
MemoryAddress result
Sets the 8-bit value at addr
equal to value
.
MemoryAddress addr
u8 value
Sets the 16-bit value at addr
equal to value
.
MemoryAddress addr
u16 value
Copies the 8-bit value at the address from
to the value at to
.
MemoryAddress from
MemoryAddress to
Copies the 16-bit value at the address from
to the value at to
.
MemoryAddress from
MemoryAddress to
Copies the 8-bit value at the address stored at from_p
to the address to
MemoryAddress from_p
MemoryAddress to
Copies the 16-bit value at the address stored at from_p
to the address to
MemoryAddress from_p
MemoryAddress to
Copies the 8-bit value at the address from
to the address stored at to_p
MemoryAddress from
MemoryAddress to_p
Copies the 16-bit value at the address from
to the address stored at to_p
MemoryAddress from
MemoryAddress to_p