1.6 KiB
1.6 KiB
2023-09-11 — Dev notes
ISA
To do
- Remove the END instruction, and use
$00for NOP
Goals
I want to keep a basic "bare minimum" set at $00-$0F, since that serves the educational goal.
That leaves the high byte free for adding more complex/convenience features.
Possible additions
Things that are hard to do otherwise
- bitwise operations
- rotate left
- rotate right
Conveniences
- multiplication
- division
- add with carry
- sub with borrow
- comparisons
- less than
- greater than
Layout idea
Maybe try to roughly map additional features onto the same areas as the basic ones:
| x | Mnm | Mnm |
|---|---|---|
| 0 | NOP | |
| 1 | STO | ROL |
| 2 | STO | ROR |
| 3 | LDA | ARL |
| 4 | LDA | ARR |
| 5 | ADD | MUL |
| 6 | ADD | MUL |
| 7 | SUB | DIV |
| 8 | SUB | DIV |
| 9 | HOP | HLT hop < |
| A | HOP | HLT hop < |
| B | JMP | HGT hop > |
| C | JMP | HGT hop > |
| D | FTG | |
| E | FHP | |
| F |
Extended system
- Additional 'B' accumulator?? (cf. motorola 6800)
Earlier notes
Pinout
- TODO: review highlights in Petzold book