Hi! Thanks for another interesting question.
The About.com website has a very interesting history of MS-DOS. Let us
first examine its origins before we get into the language used to
"In 1980, IBM first approached Bill Gates and Microsoft, to discuss
the state of home computers and Microsoft products. Gates gave IBM a
few ideas on what would make a great home computer, among them to have
Basic written into the ROM chip."
"As for an operating system (OS) for the new computers, since
Microsoft had never written an operating system before, Gates had
suggested that IBM investigate an OS called CP/M (Control Program for
Microcomputers), written by Gary Kildall of Digital Research."
But IBM did not come into terms with Kindall and the former went back
again to Microsoft offering Bill Gates a contract for an operating
"The "Microsoft Disk Operating System" or MS-DOS was based on QDOS,
the "Quick and Dirty Operating System" written by Tim Paterson of
Seattle Computer Products, for their prototype Intel 8086 based
"QDOS was based on Gary Kildall's CP/M, Paterson had bought a CP/M
manual and used it as the basis to write his operating system in six
"Microsoft bought the rights to QDOS for $50,000, keeping the IBM deal
a secret from Seattle Computer Products."
"The History of the MS-DOS Operating Systems - Microsoft - Tim
Paterson - Gary Kildall"
So in piecing the story let us first make a step by step guide to the
1. First there was the CP/M operating system by Kindall.
2. Then came QDOS written by Tim Peterson of Seattle Computer
Products. The OS was based and almost the same as CP/M.
3. Mircrosoft bought QDOS and renamed it MS-DOS.
So in determining what language MS-DOS was written let us first
According to this article, CP/M was written in the popular assembly
language, FORTRAN. The story goes this way.
"In 1973, when Gary attended the presentation of the new Intel 8080
CPU, his dream appeared much nearer to reality. He was so enthusiastic
about the 8080, that he offered to the Intel managers to build a
compiler for PL/1 (= Programming Language Number 1)."
"There was only a little problem: Gary didn't own a computer running
on an 8080. He only had access to a Digital Equipment PDP-10.
Therefore Gary coded his PL/M compiler in FORTRAN on the DEC PDP. When
the compiler was ready, Gary still needed an 8080 computer for
testing. He even succeeded in persuading the company Shugart to give
him a floppy drive as a gift. Since the cables, the power supply and
the controller were missing, Gary was unable to use it."
"As the donated floppy was worthless for him, Gary decided to simulate
the 8080 on the PDP computer. From this the first version of CP/M
resulted - so to speak as a 'workaround'..."
Since CP/M was written in FORTRAN and QDOS was based on CP/M, does it
mean that QDOS and MS-DOS were written in FORTRAN? According to our
next article, written by Tim Patterson himself, the assembly language
used by Seattle Computer Products wasn't FORTRAN but was built
in-house since it was the only thing available to them at that time.
"The last design requirement was that MS-DOS be written in assembly
language. While this characteristic does help meet the need for speed
and efficiency, the reason for including it is much more basic. The
only 8086 software-development tools available to Seattle Computer at
that time were an assembler that ran on the Z80 under CP/M and a
monitor/debugger that fit into a 2K-byte EPROM (erasable programmable
read-only memory). Both of these tools had been developed in house."
"An Inside Look at MS-DOS"
Search terms used:
I hope these links would help you in your research. Before rating this
answer, please ask for a clarification if you have a question or if
you would need further information.
Thanks for visiting us.
Google Answers Researcher