Hacker News new | ask | show | jobs
by whobre 15 days ago
In 1981, one could write a z80 assembly program for cp/m and it would run on thousands of different computer models.
2 comments

As someone that was alive back then already, only if you never touched the hardware directly outside the CPU.

Even the PC clones didn't had something like portable Assembly if you ventured outside 0x10h and 0x21h interrupts.

Right. I am saying there is a difference between portable and non portable assembly code. If you interacted with the machine via call 05h interface, it was portable. If you accessed computer’s video memory buffer directly it wasn’t.
Good portable assembly would stub the system stuff off, anyway, and once that was done for the cpu class in focus, it was very possible to have a thin HAL and write portable code. A great deal many successful products of the era were written in pure assembly this way.

In any case, you could also get high performance multiplatform video/io assembly libraries on the market, soon enough, back in the day .. it begat a lot of Delphi units too, I seem to recall ..

I did it many times on CP/M and also DOS.

Never ‘touching the hardware’ was attainable for a great deal many assembly programs.

You could do a lot with 0x10h and 0x21h on DOS.

Yes, not much for games though.
Oh sure, TSR’s for the logic, BIOS for the graphics calls, and your own lib to wrap it up and make it portable ..
of different CP/M computer models though, no?