NOP |
none |
|
No operation. |
ENI |
none |
E |
Enable interrupts. |
DSI |
none |
E |
Disable interrupts. |
STC |
none |
C |
Set the carry flag to 1. |
CLC |
none |
C |
Set the carry flag to 0. |
CMC |
none |
C |
Invert the carry flag. |
RET |
none |
|
Return from a routine. |
RTI |
none |
EZCNO |
Return from an interrupt routine. |
INT |
c10 |
EZCNO |
Trigger interrupt with interrupt vector c10, regardless of the E flag. |
RETN |
c10 |
|
Return from a routine and free c10. positions from the stack. |
NEG |
op |
ZCNO |
Invert the sign of op. |
INC |
op |
ZCNO |
Increment op. |
DEC |
op |
ZCNO |
Decrement op. |
COM |
op |
ZN |
Bitwise NOT, complement (op = !op). |
PUSH |
op |
|
Push op to the top of the stack. |
POP |
op |
|
Pop the top of the stack to op. |
SHR |
op, c4 |
ZCN |
Shift right op by c4 bits. |
SHL |
op, c4 |
ZCN |
Shift left op by c4 bits. |
SHRA |
op, c4 |
ZCNO |
Arithmetic shift right, same as SHR but sets the overflow flag. |
SHLA |
op, c4 |
ZCNO |
Arithmetic shift left, same as SHL but sets the overflow flag. |
ROR |
op, c4 |
ZCN |
Rotate right op by c4 bits. |
ROL |
op, c4 |
ZCN |
Rotate left op by c4 bits. |
RORC |
op, c4 |
ZCN |
Rotate right (with carry) op by c4 bits. |
ROLC |
op, c4 |
ZCN |
Rotate left (with carry) op by c4 bits. |
CMP |
op0, op1 |
ZCNO |
Compare op0 and op1 (same as SUB without changing any operands). |
ADD |
op0, op1 |
ZCNO |
Add op0 and op1 (op0 = op0 + op1). |
ADDC |
op0, op1 |
ZCNO |
Add op0, op1 and the carry flag (op0 = op0 + op1 + C). |
SUB |
op0, op1 |
ZCNO |
Subtract op0 and op1 (op0 = op0 - op1). |
SUBB |
op0, op1 |
ZCNO |
Subtract op0, op1 and the carry flag (op0 = op0 - op1 - C). |
MUL |
op0, op1 |
ZCNO |
Multiply (no sign) op0 by op1, both operands are used to store the result (op0 | op1 = op0 * op1). |
DIV |
op0, op1 |
ZCNO |
Divide (no sign) op0 by op1, both operands are used to store the result (op0 = result; op1 = remainder). |
TEST |
op0, op1 |
ZN |
Test op0 and op1 (same as AND without changing any operands). |
AND |
op0, op1 |
ZN |
Bitwise AND (op0 = op0 ∧ op1). |
OR |
op0, op1 |
ZN |
Bitwise OR (op0 = op0 ∨ op1). |
XOR |
op0, op1 |
ZN |
Bitwise XOR (op0 = op0 ⊕ op1). |
MOV |
op0, op1 |
|
Copy op1 to op0 (op1 = op0). |
MVBH |
op0, op1 |
|
Copy higher byte of op1 to the higher byte of op0 (op0 = (op0 and 0x00ff) or (op1 and 0x00ff)). |
MVBL |
op0, op1 |
|
Copy lower byte of op1 to the lower byte of op0 (op0 = (op0 and 0xff00) or (op1 and 0xff00)). |
XCH |
op0, op1 |
|
Exchange op0 and op1 (op0 = op1; op1 = op0) |
JMP |
op |
|
Unconditional jump to op. |
JMP.cond |
op |
|
Jump to op based on condition cond. |
CALL |
op |
|
Unconditional routine call to op. |
CALL.cond |
op |
|
Routine call to op based on condition cond. |
BR |
c6 |
|
Unconditional branch jump to PC + c6. |
BR.cond |
c6 |
|
Branch jump to PC + c6 based on condition cond. |