Instructions

(Work in progress)

Opcode Table

Opcode Table

Address Modes

DESTSRCMODEie.
rrRegistermov c, a
r(r)Register Indirectmov c, (a)
rimmImmediate Directmov a, 0x55
r(imm)Immediate Indirectmov a, $ffa3
r16r16Registermov f, s3
r16(r16)Register Indirectmov f, (s3)
r16rrRegister Pairmov s3, s1s2
r16(rr)Register Pair Indirectmov f, (CD)
r16imm | imm16Immediate Directmov s3, 0x55
r16(imm) | (imm16)Immediate Indirectmov f, (0x55a3)
memr | r16Registermov $ff12, a
mem(r) | (r16)Register Indirectmov $223a, (a)
memrrRegister Pairmov $ff12, (cd)
mem(rr)Register Pair Indirectmov $332a, (s1s2)
memimm | imm16Immediatemov $aad5, 0x55f1
mem(imm) | (imm16)Indirectmov $779a, (0xd771)

Registers

NameAcronymTypeDescription
C & D RegistersC, D8-bit GPRUser-controlled
Scratch RegistersS1, S28-bit GPRInternal Use Only
F RegisterF16-bit GPR / CounterUser-controlled
Scratch RegisterS316-bit GPR / CounterInternal Use Only
Instruction RegisterIR16-bit Counter RegisterInternal Use Only
Stack PointerSP16-bit Counter RegisterUser-controlled
Program CounterPC16-bit Counter RegisterInternal Use Only
Code Segment RegisterCS4-bit RegisterInternal Use Only
Data Segment RegisterDS4-bit RegisterUser-controlled
Stack Segment RegisterSS4-bit RegisterUser-controlled
Flags RegisterFLG4-bit RegisterInternal Use & User-controlled
AccumulatorA8-bit RegisterUser-controlled
OperandB8-bit RegisterUser-controlled
Memory AddressMAR16-bit RegisterInternal Use Only
Interrupt Mask RegisterIMR8-bit RegisterUser-controlled
Interrupt Priority RegisterPR8-bit RegisterUser-controlled

Instruction List

Instructions

RSTNOPHLTMOVPUSHPOP
ADDADCSUBSBBANDNAND
ORNORXORXNORNOTSHL
SHRASLASRROLRORINC
DECCMPTSTINOUTCALL
CLIRTSRTI
Standard Instructions

Jump Instructions

JMPJSJNB | JAE | JNCJOJE | JZJS
JB | JNAE | JCJA | JNBEJGE | JNLJG | JNLEJL | JNGEJBE | JNA
JLE | JNG
Jump Instructions