On the one hand, the Z80 was indeed a CPU you could easily wrap your mind around, on the other hand, similar sheets exist for Intel chips (from the same author: https://vtda.org/docs/computing/MicroLogic/MicroLogic8086&80...), so maybe the differences between architectures aren't as stark as we like to think?
Having said that, I'm not sure how actually-useful this particular reference card is: huge hex conversion table, but no instruction timing chart?
Anyway... pure nostalgia caused me to go through an old Z80 assembly book just now ("Advanced Spectrum Machine Language"), and I found some code I wrote a good 35 years or so ago: https://ibb.co/fvqtwkQ
This was printed on thermal paper (not sure about the printer model: I don't think it was the original ZX Printer, as that used differently-sized paper), so sort-of impressed it survived that long (most printouts I had from that time long faded). As to why I wrote the code or what it does: I think it was to create an animated tape loading screen, but...
Instruction timings are in the pink table on the left-hand side. For example, `ADC HL, BC; ED4A; H15` means that the instruction affects the flags as in row H and takes 15 cycles to execute.
> so maybe the differences between architectures aren't as stark as we like to think?
The Z80 (designed by Federico Faggin and Masatoshi Shima - two of the 8080 designers) was designed to be binary compatible with the 8080 but more capable - so the architectures would have atleast started out very close.
> The Z80 CPU can execute 158 different instruction types including all 78 of the 8080A CPU
Having said that, I'm not sure how actually-useful this particular reference card is: huge hex conversion table, but no instruction timing chart?
Anyway... pure nostalgia caused me to go through an old Z80 assembly book just now ("Advanced Spectrum Machine Language"), and I found some code I wrote a good 35 years or so ago: https://ibb.co/fvqtwkQ
This was printed on thermal paper (not sure about the printer model: I don't think it was the original ZX Printer, as that used differently-sized paper), so sort-of impressed it survived that long (most printouts I had from that time long faded). As to why I wrote the code or what it does: I think it was to create an animated tape loading screen, but...