MASM 1.0 was hardly spry, it had a linear symbol table, meaning that it took exponential time as the size of the program increased. Plus, it crashed a lot, and I mean a lot. Every crash meant a tedious reboot, making development very slow.
I'd write a cross-assembler that ran on the PDP-10. That's probably what Microsoft did, as I find it hard to believe that MASM 1.0 could have been used to compile DOS.
I'd also write the DOS clone in C, running it on the 10 with an emulator. Then I'd hand-translate it to assembler.
Remember, DOS 1.0 fit on a 160K floppy, including the numerous utilities thrown in. That isn't much code, even assembler code.
Paul Allen confirmed (in his books) that in the early years Microsoft used PDP's a lot to emulate smaller hardware. In fact the very first Basic was developed without ever having the physical Intel CPU, only the Intel manuals.
There were fast assemblers. The SC assembler on the Apple II did maybe 1,000 lines a second. The x86 assembler from Digital Research was pretty fast too. You could play games with RAM disks and so forth.
The thing about cross-development on a mini or mainframe that killed you was the download time. I did cross-assembly at Atari, and it was always the download time that took soooo longggg. Wrote a few smart downloaders while I was waiting for dumber ones to finish. 9600 baud sucks hard.
I'd write a cross-assembler that ran on the PDP-10. That's probably what Microsoft did, as I find it hard to believe that MASM 1.0 could have been used to compile DOS.
I'd also write the DOS clone in C, running it on the 10 with an emulator. Then I'd hand-translate it to assembler.
Remember, DOS 1.0 fit on a 160K floppy, including the numerous utilities thrown in. That isn't much code, even assembler code.