Here's a tentative list of ops and the syntax they will use in asm:
Code:
regLoad (!)r1, (!)r2
regWrite r3, (alu opcode)
immLoad (8-bit immediate), (to SPRs OR ioReg)
ioRead (address source), (peripheral address), (result register)
ioRead+INC ...
ioBGRead (address source), (peripheral address)
ioBGRead+INC ...
ioWrite (address source), (data source), (peripheral address)
ioWrite+INC ...
buffRead (peripheral address), (result register)
buffRead+INC ...
jump (8-bit jump address)
call (8-bit jump address)
ret (8-bit jump address)
brIf (8-bit jump address), (condition)
////////////////////////////////////////////////
alu ops:
add, sub, and all bitwise stuffs
shift right can be done in the same op as all others
shift left supported via arithmetic shift.
conditions:
If0
Sign
Cout
Overflow