No operation
W[cc] = W[aa] + W[bb]
If overflow occurs, register CR
bit OV
is set.
W[cc] = W[aa] - W[bb]
Bitwise AND
W[cc] = W[aa] AND W[bb]
Bitwise OR
W[cc] = W[aa] OR W[bb]
Bitwise XOR
W[cc] = W[aa] XOR W[bb]
W[aa] = W[aa] + 1
If overflow occur, ignore carry bit.
W[aa] = W[aa] - 1
Set 4 bits of register W[aa]
with xxxx
.
Remaining bits are unchanged.
The bits are selected with yy
:
yy=00
-> W[aa][0-3]
yy=01
-> W[aa][4-7]
yy=10
-> W[aa][8-11]
yy=11
-> W[aa][12-15]
Clear register W[aa]
W[aa] = ~W[aa]
Bitwise NOT operation on register W[aa]
.
Set IP = W[aa]
.
If W[aa] == W[bb]
, then set IP = W[cc]
.
If W[aa] != W[bb]
, then set IP = W[cc]
.
If W[aa] < W[bb]
, then set IP = W[cc]
.
If W[aa] > W[bb]
, then set IP = W[cc]
.
If W[aa] != 0
, then set IP = W[cc]
.
Performs a function call:
SP = SP + 2
*SP = IP
IP = W[aa]
Returns from a function call
IP = *SP
SP = SP - 2
Same as RET
, but also sets the GLE
flag on the CR
register.
Load contents of memory address given by W[aa]
, on the bank selected on BK
into the register W[bb]
.
W[bb] = MEMORY[W[aa]]
Store the contents of W[bb]
in address given by W[aa]
, on the bank selected on BK
.
MEMORY[W[aa]] = W[bb]
Copy the contents of register W[aa]
to the register W[bb]
.
Push the contents of register W[aa]
on the stack:
SP = SP + 2
*SP = W[aa]
Pop a value from top of the stack on register W[aa]
:
W[aa] = *SP
SP = SP - 2
Load the value from address SP - 0bxxxxxx
into W[aa]
:
W[aa] = *(SP - 0bxxxxxx)
Load the address SP - 0bxxxxxx
into W[aa]
:
W[aa] = SP - 0bxxxxxx
Use the 4 lower bits of W[aa]
to set the pixel indexed on the video memory addressed by W[bb]
.
Note that the video memory is 4-bit addressed, so index are from 0
to 2*last_video_mem_byte
.
Disable global interrupt
Enable global interrupt
Disable time interrupt a
Enable time interrupt a
Select Memory Bank aa
in CR
register
Breakpoint (software handled) - Mostly used for testing.
Halt system
Easily sets all bytes of a register
Expands to
SET W[aa] 3 0xA
SET W[aa] 2 0xB
SET W[aa] 1 0xC
SET W[aa] 0 0xD
Push all registers to stack
Expands to
PUSH W0
PUSH W1
PUSH W2
PUSH W3
Pop all registers from stack
Expands to
POP W3
POP W2
POP W1
POP W0