@DOS:
In den späteren DOS-Versionen wird zusätlich C verwendet, der Großteil ist immer noch in Assembler geschrieben.
Der DOS Source wurde irgendwann mal geleakt, ich glaub der ist (fast) komplett im Internet gelandet. Irgendwo hab ich auch mal gelesen, dass auf den letzten Seiten von irgendeinem seltenen & alten DOS-Buch der Source von Version 2.xx abgedruckt ist.
@ASM vs. C:
Ich denke, dass man nicht abstreiten kann, dass Assembler Programme ein klein wenig schneller und kleiner sind als C-Programme - natürlich nur wenn man gut Asm kann. C Programme sind dafür wesentlich übersichtlicher und es lassen sich viele Dinge in C/C++ einfach schöner "ausdrücken".