Cuando dices MS-DOS, me imagino que te refieres al verdadero y puro que se usaba de Windows 98 para atras. Te diré que está escrito híbrido entre C y ASM (lenguaje ensamblador), obviamente el boot (sector de arranque) está escrito en ASM, y todo lo demas está en C, al igual que Windows que tambien está en C/C++ y su boot en ASM; actualmente el simbolo de sistema está escrito en C++ y es un simple programa ejecutado por el kernel de windows, que desde ME ya no usa el modo real y pasa directo al modo protegido....
Saludos