How were programs that were written in assembly loaded into memory of 8085 processors? Did the processor come with a bootloader with which you could load information into memory? If so, what did the program look like? In my 8085 simulator I press assemble and and load program and it automatically loads my assembly program into memory. How was this magic done in the original 8085?
-
2For use as a microcontroller, or the OS for an old computer, probably by burning to a ROM and wiring it up to the 8085 so the program (or OS kernel) is already in memory when it powers up. If a kernel, it probably has functions to load code from disk or tape as well. – Peter Cordes May 20 '22 at 17:26
-
1But in terms of development cycle (edit/build/run), see [Back in the late 1980s, how was commercial software for 8-bit home computers developed?](https://retrocomputing.stackexchange.com/q/9006) on retrocomputing.SE. Systems capable of running an assembler on the computer could just assemble into RAM and run it. Or into a disk file if you had something worthy of being called an OS, and then you could run it. – Peter Cordes May 20 '22 at 17:38
-
1Thank you for your answer! Do you know how the program would be loaded into RAM memory? Did the assembler do this? If loaded into a disk file, it would later have to be retrieved and put into RAM to execute the program no? – Alberto García May 20 '22 at 17:53
-
1Yes, if you have an OS then the problem of loading files from disk as programs is already solved. If you don't, and it's just an all-in-one IDE with assembler + debugger, then the assembler can just assemble *into* RAM. It's a program running on the machine, and it has to put the resulting machine code somewhere. That somewhere will be an array. See also [How was the first assembler for a new home computer platform written?](https://retrocomputing.stackexchange.com/q/3326) for how those get developed – Peter Cordes May 20 '22 at 17:57
-
1Thank you for answering so kindly!!! I think I get the gist of it now. The links you provided were very informational. This is all so interesting!! – Alberto García May 20 '22 at 18:33
-
3Back in the day, we used UV erasable EPROMs and later EEPROMS. There would be a tube of blank ones waiting, it wasn't instantaneous but a good moment to get a brew or a comfort break. Also used in-circuit emulators a bit but they were very expensive. My own solution was to make my own emulators running on a PC because the hardware would never be ready until a week before the deadline, and they always blamed any faults on software. The code had to be as bug-free as possible, because we were expected to *prove* that the board was at fault. So we would have self-test verification code ready... – Weather Vane May 20 '22 at 18:56
-
1You also wrote an interestig answer here: https://stackoverflow.com/questions/49489376/how-does-assembly-code-actually-get-interpreted-at-the-basic-level – Alberto García May 20 '22 at 19:16
1 Answers
I actually wrote a full blown application (digital diary) for the 8085 in assembly 35 years ago as my final school project. I had an original IBM XT at the school lab with asm85 assembler. I wrote an entire 6K assembly program in that extremely simple editor and assembled it. The PC was connected to an EPROM programmer via the serial port. I ran a command in DOS that copied the 6K obj file the assembler generated to the EPROM programmer RAM. I installed a 8K EPROM chip to the programmer. The programmer had some keys to operate it so I selected Program at base address 0000h. Obviously my assembly program started at that address so everything worked perfectly. I took the programmed EPROM chip and connected it to a socket on a board I created using ORCAD with a 8156 chip for ports and another chip as an address bus latch. That was a minimum system with another small ram chip and an external 5V power supply. I got a perfect score (100) for the project and it worked until a year ago when I found no use for it anymore and threw it to the garbage bin.

- 77
- 10