On 2021-06-23 6:48 p.m., Paul Koning via cctalk wrote:
Somewhat related to the point of compiling and executing mixed together is a very strange hack I saw in the
Electrologica assembler for the X8 (the company issue one, not one of the various ones built at various labs
for that machine). It is essentially a "load and go" assembler, so the code is dropped into memory
as it is assembled, with a list of places to be fixed up rather than the more typical two pass approach. You
can use a variation of the usual "start address" directive to tell the assembler to start executing
at that address right now. In other words, you can assemble some code, execute it, then go back to
assembling the rest of the source text. Cute. Suppose you want to do something too hard for macros; just
assemble its input data, followed by some code to convert that into the form you want, then go back to
assembling more code. And that can start by backing up the assembly output pointer ("dot") so the
conversion code doesn't actually take up space in the finished program.
It sure makes cross-assemblers hard, because you have to include an EL-X8
simulator in the assembler... :-)
paul
But at least it not a 386. Did any other computers have built in rom or
protected core used as rom for 'standard' routines like I/O or floating
point.
Ben.