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 |