49 lines
885 B
Markdown
49 lines
885 B
Markdown
|
# A Z80 Disassembler
|
||
|
|
||
|
The purpose of this project is to disassemble Z80 machine code as usable string.
|
||
|
|
||
|
## TODO
|
||
|
|
||
|
- [x] Basic Disassembly
|
||
|
- [ ] Extended Instructions Support
|
||
|
- [ ] IX Instructions Support
|
||
|
- [ ] IY Instructions Support
|
||
|
- [ ] Unit Testing
|
||
|
|
||
|
## About the Z80 Instruction Set
|
||
|
|
||
|
The Z80 CPU has 158 different instruction types including the 78 8080A instructions.
|
||
|
|
||
|
### Instruction Types
|
||
|
They are categorized into:
|
||
|
- Load and Exchange
|
||
|
- Block Transfer and Search
|
||
|
- Arithmetic and Logical
|
||
|
- Rotate and Shift
|
||
|
- Bit Manipulation
|
||
|
- Jump, Call, and Return
|
||
|
- Input/Output
|
||
|
- CPU Control
|
||
|
|
||
|
### Addressing Modes
|
||
|
- Immediate
|
||
|
- Immediate Extended
|
||
|
- Modified Page Zero
|
||
|
- Relative
|
||
|
- Extended
|
||
|
- Indexed Addressing
|
||
|
- Register
|
||
|
- Implied
|
||
|
- Register Indirect
|
||
|
- Bit
|
||
|
|
||
|
or a combination of any two modes.
|
||
|
|
||
|
Registers
|
||
|
|
||
|
Accumulators | Flags
|
||
|
------ | ------
|
||
|
A | F
|
||
|
B | C
|
||
|
D | E
|
||
|
H | L
|