(docs) architecture - Update & reformat "Instruction set" section
This commit is contained in:
parent
93aebd2314
commit
deae1be027
|
|
@ -31,32 +31,34 @@ These are all addressed by number:*
|
|||
- Instructions are two bytes long:
|
||||
one byte for the opcode, one for the operand
|
||||
|
||||
<mark>TODO: revise this based on note dated 2023-09-24</mark>
|
||||
- Opcode format is ```GGMM OOOO``` — **G**roup, **M**ode, **O**peration
|
||||
|
||||
```GGMM IIII``` - **G**roup, **M**ode, **I**nstruction
|
||||
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | | 8 | 9 | A | B | C | D | E | F |
|
||||
|-------|-----------|-----------|-----------|---------|---------|---------|---------|---------|---|-----------|-----------|-----------|-----------|-----------|-----------|----------|-----------|
|
||||
| **0** | NOP | HLT | | | | | | | | | | | | | | | |
|
||||
| **5** | LDA # | STO # | ADD # | SUB # | JMP # | JEQ # | JFL # | FTG # | | _MUL #_ | _DIV #_ | _JLT #_ | _JGT #_ | _NOT #_ | _AND #_ | _OR #_ | _XOR #_ |
|
||||
| **6** | LDA ind | STO ind | ADD ind | SUB ind | JMP ind | JEQ ind | JFL ind | FTG ind | | _MUL ind_ | _DIV ind_ | _JLT ind_ | _JGT ind_ | _NOT ind_ | _AND ind_ | _OR ind_ | _XOR ind_ |
|
||||
| **9** | _DEV #_ | _INP #_ | _OUT #_ | _FED_ | | | | | | | | | | | | | |
|
||||
| **A** | _DEV ind_ | _INP ind_ | _OUT ind_ | _FED_ | | | | | | | | | | | | | |
|
||||
| **F** | _RSL A_ | _RSR A_ | _ASL A_ | _ASR A_ | | | | | | | | | | | | | |
|
||||
|
||||
| lo ↓ / hi → | 0 (G0, M0) | 5 (G1, M1) | 6 (G1, M2) | 9 (G2, M1) | A (G2, M2) | F (G3, M3) |
|
||||
|-------------|------------|------------|------------|------------|------------|------------|
|
||||
| **0** | END | LDA # | LDA ind | DEV # | DEV ind | |
|
||||
| **1** | NOP | STO # | STO ind | INP # | INP ind | |
|
||||
| **2** | | ADD # | ADD ind | OUT # | OUT ind | |
|
||||
| **3** | | SUB # | SUB ind | FED | FED | |
|
||||
| **4** | | JMP # | JMP ind | | | |
|
||||
| **5** | | JEQ # | JEQ ind | | | |
|
||||
| **6** | | JFL # | JFL ind | | | |
|
||||
| **7** | | FTG # | FTG ind | | | |
|
||||
| | | | | | | |
|
||||
| **8** | | MUL # | MUL ind | | | RSL A |
|
||||
| **9** | | DIV # | DIV ind | | | RSR A |
|
||||
| **A** | | JLT # | JLT # | | | ASL A |
|
||||
| **B** | | JGT # | JGT # | | | ASR A |
|
||||
| **C** | | NOT # | NOT # | | | |
|
||||
| **D** | | AND # | AND # | | | |
|
||||
| **E** | | OR # | OR # | | | |
|
||||
| **F** | | XOR # | XOR # | | | |
|
||||
Operations in italics are extensions to the core set of operations.
|
||||
|
||||
High byte reference:
|
||||
|
||||
| g, m | bin | hex |
|
||||
|------|------|-----|
|
||||
| 0, 0 | 0000 | 0 |
|
||||
| 1, 1 | 0101 | 5 |
|
||||
| 1, 2 | 0110 | 6 |
|
||||
| 2, 1 | 1001 | 9 |
|
||||
| 2, 2 | 1010 | A |
|
||||
| 3, 3 | 1111 | F |
|
||||
|
||||
TODO: assess JMPs vs. HOPs
|
||||
|
||||
Brief legend for mnemonics:
|
||||
|
||||
- RSL/RSR: Ring Shift Left/Right
|
||||
- JLT/JGT: Jump Less/Greater Than
|
||||
- DEV: select IO device
|
||||
|
|
|
|||
Loading…
Reference in New Issue