• Please review our updated Terms and Rules here

Writing Assemblers... What should a good assembler do?

What they say and what is reflected in the code seem very different. After all, there's no advantage to the z80 at all over the 8085 except a few things like OUT(C) and the extra command set. If they aren't being used, then it's doubtful the claim was legitimate and likely just marketing since it all worked on z80 anyway.

CP/M 3 added a hook to use LDIR for block copying in the BIOS. MP/M has options to support the Z80 extra register stacking in task switching so they sort of did, but it's mostly marketing in the CP/M core, but heavily used in the BIOS where after all you know what CPU to expect in most cases.
 
What happens if someone runs the bankswitch binary on one of these systems with the standard CP/M BIOS that they ship with? It just trashes the currently running system?

It's always been an issue. There's an awful lot of "CP/M" software that goes bang when run on the wrong box. Lots of stuff was never in the BIOS so run the format tool or hard disk tool for one box on another and it often crashed. There were also a lot of "not CP/M" operating systems that ran some or most CP/M software - from turboDOS to MSX-DOS etc.

Hal Bower and others did try and standardize a far memory access model in late CP/M days as BIOS extensions in BPBIOS along with fixing other CP/M issues of the same form - machine identity, hardware querying, portable low level disk I/O but it was too little too late. Amstrad had their XBIOS and so on but nobody ever managed to actually sort it.

It's always been much murkier than you seem to imply but historically it didn't matter because you didn't install random software off the internet, you were expected to know what you were doing (or not be installing software) and indeed it was considered perfectly acceptable to ship terminal programs with patch areas which you tweaked for your exact serial port and which would most definitely then make a nasty mess if you ran it on the wrong machine.
 
Back
Top