86-DOS (the base of MS-DOS 1.0) at least was developed
on
a DEC 2020 station and transfered via serial line to an
INTEL ISIS system for writing Disks, or to the SCP 8086
S100 system for runntime tests.
This seems to be another one of those cases where what was once a common
software development technique is being lost to changing times. In the
70's, when micros first came out, it was common practice to buy a
cross-assembler and simulator that ran on a mini or mainframe. Code was
developed and maintained in a familiar environment, run through the
simulator, testing as much as possible, then burned into EPROM and
installed in the target system. IIRC the original IBM PC BIOS was built
this way.
When Intel came out with the 8086, they did offer an assembly language
translator for 8080 to 8086 code. For the most part there is a 1:1
correspondence for 8080 instructions, except when it came to status
flags, so the translator was relatively easy if you had a clean design.
In practical terms it was less useful because all you got was the same
program without taking advantage of the features unique to the 8086,
like segments or 16-bit operations.
Cross-assemblers were not unique to micros either. The lab where I
worked in the 70's had several stripped down DG Nova 1200s used as
embedded controllers. These machines had no console or disk, no
operating system, just a paper tape reader bootstrap and a front panel
plus some custom electronics. The development cycle was to write a
program on the mainframe (CDC 6600), punch a paper tape (yes the CDC did
have paper tape output!), load it into the Nova, sacrifice a candy bar
to the computer gods, then hit the Run switch. Debugging was front
panel lights/switches, several cases of Coke, vending machine candy, and
the good ole Single-Step toggle.
Jack Peacock