On 4/21/24 07:45, Mike Katz via cctalk wrote: > One of the biggest features of the Z-80, the extra register set, was > rarely used in open source software in order to maintain compatibility > with the 8080.
My understanding of the extra (partial) set of registers on the Z80 was that they were intended for a quick context switch particularly when processing interrupts--another interesting feature of the Z80 that was rarely used. So, for ordinary user code, they were a no-go. The alternative on the Intel MPUs was to push each 16-bit register pair at the entry of the interrupt routine and then pop them at the end; a relatively slow process, made worse by the requirements for extra stack space. Of course, the extra register feature went largely unused, as relatively few consumer- or hobbyist-level products actually made much use of the interrupt feature, much less, the 256-level vectored interrupt facility. The 8086 continued this trend of requiring explicit saves; some of the NEC V-series chips (e.g. V25), however, did implement extra register sets (8 total, IIRC) for fast context switches. --Chuck