Getting my hand dirty with some CP/M Z80 assembly programming...
My question is about register safety.
Per the CP/M programming manual, C and DE are usually filled when calling BDOS and A,B and HL are usually (always?) filled when returning from BDOS.
But what about IX, IY, SP and F? Do I need to preserve those before calling and restore after calling? And what about the alternate registers? I'm going to assume that since the 8080 doesn't have those and that CP/M is designed for 8080s and the Z80 just could swap the register sets, set up the BDOS call, call it, capture any returned values somehow and then swap the register sets back.
But what about RomWBW? How does its BIOS handle any registers differently? Or is it also entirely written to be 8080 compliant? Third party BIOS drivers? Are those checked?
Wayne, I expect you're the person who would truly know.
Thanks,
Robb