How were the first microprocessors programmed?
electronics.stackexchange.comI used cross assemblers in DOS to program 803x series of micro-controllers in 80's. To debug the hardware, I used a toggle switch to single step the programs and a LED probe to check the address lines to verify that the program branched to correct location, keeping a printout of the intermediate output from the compiler which showed assigned address for each instructions.
To avoid stepping through several hundred lines of instructions before reaching a particular routine say floating-point arithmetic, I would set beginning of the routine in question at a convenient address like 0x400, and wire the address line (A10) to break the program.
I have created several useful products using these humble tools.
I've hand assembled (small) bits of Z-80 code and toggled it via switches a byte at a time in to bootstrap old CP/M machines. Interesting, but not much fun.
Commercially, we commonly used cross assemblers or cross compilers and simulators that ran on minicomputers (like DEC VAXen). We could then burn the output to PROMs to put in the target machine for final debugging. Later we used a more specialized cross development environment (HP 64000 and Intel MDS) which had a big cable tied to a pod that plugged into the CPU socket on the target, allowing much more sophisticated debugging.