silly-stuff/z80_disasm/README.md

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