Microprocessor Programming, Troubleshooting, and Interfacing: The Z80, 8080, and 8085