# 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