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