On Sun, Mar 9, 2025 at 4:35 PM Luther Johnson <
luther.johnson(a)makerlisp.com> wrote:
I believe CP/M was written entirely in 8080
assembly language.
Not initially -- see below.
PL/M wasa PL/1 subset, I think Gary Kildall was
the main programmer
behind that,
Gary was a language person not an OS person. PL/M was developed by him
under contract with Intel for the original Intel 8080 development system.
and I'm sure there was a version for CP/M,
but I doubt CP/M was written
in it, just due to what I've seen of it.
From the readme:
https://github.com/brouhaha/cpm22
Introduced in 1974, CP/M by Digital Research was one of the first
microcomputer operating systems that was not tied to a single computer
vendor. It could be adapted to run on almost any 8080 or Z80 microcomputer
that had at least 16KB of RAM starting at address 0000h.
Originally much of CP/M was written in the PL/M programming language. With
the introduction of CP/M 2.0, the command processor (CCP) and kernel (BDOS)
were rewritten in 8080 assembly language.
I have a port of CP/M for a
machine I've made and sold, where another programmer and I did the
porting work, and from what I've seen of early DOS and how it was in
many ways modeled after CP/M, it doesn't seem like CP/M was written in
anything other than 8080 assembly. However I've only seen the BIOS (not
IBM PC BIOS, but the original coining of the term for CP/M, standing for
"basic input/output system"),
Again, the term came from the Intel 8008 development system.
so on the other side, inside of CP/M, I
guess it might be anything, but it seems like it is most likely 8080
assembly language too.
As a compiler guy, Kidall was once quoted as the reason who originally
wrote CP/M to sell more copies of his compiler.