[COFF] machine code translation,as mental architecture models

Aron Insinga aki at insinga.com
Sat Jul 13 04:54:13 AEST 2024


Outside of product development, the internal DECSIM multi-level logic 
simulator and its CLI and compilers were also written in BLISS.  Most of 
these started out in BLISS-36 but they were all brought together with a 
fault simulation kernel on the VAX to take advantage of the larger 
address space.

Some other internal VLSI CAD tools were also written in BLISS, although 
a few were written in more common languages.  The first (AFAIK) 
retargetable microcode assembler at DEC, MICRO, was written in MACRO-10; 
sources are on the net.  The next generation MICRO2 was written in BLISS 
and AFAIK the binary is available but the sources have sadly been lost.  
<Insert obvious plea here.>

Re: Paul's comment about the portable I/O library in BLISS: When I first 
encountered C, I used the Unix system calls to do I/O.  The "standard 
I/O" library was a very important addition to C's usability.  Similarly, 
when I first encountered BLISS-10, I had to type in a package from the 
DECUS documentation to call TOPS-10 to do I/O.  Getting the "XPORT" I/O 
(etc.) library for Common BLISS was invaluable for the CAD tools.

People have repeatedly omitted I/O from the initial design of a language 
and relegated it to a library, but even if the language is intended to 
be used for a kernel, people learning the language ("Hello, world!") or 
using the language above the kernel for utilities will need to do I/O, 
so this library should be included in the language design from the very 
beginning.  I think this lesson has been learned by now.  Its fallout is 
recognized in Stroustrup's quote of a Bell Labs axiom, "Library design 
is language design, and vice versa."

- Aron


On 7/12/24 12:51, Paul Winalski wrote:
> Outside the VAX/VMS development group, BLISS was DEC's standard 
> implementation language.  In the development organizations I worked in 
> (software development tools and compilers), we did almost zero 
> programming in assembly code.



More information about the COFF mailing list