vintage computers in active use

Chuck Guzis cclist at sydex.com
Thu May 26 15:50:40 CDT 2016


On 05/26/2016 12:27 PM, Jay West wrote:
> Chuck wrote... (regarding assembly, not machine language): ------- 
> "typically tied to hardware"?  Can anyone cite a case where it was
> not? ------- Absolutely. The Pick Operating System assembly language.
> They could not afford a machine when they began development of the
> OS. So they wrote the entire OS in a "made up" assembly language that
> didn't really exist on any real machine. This got them two benefits -
> one, didn't have to buy hardware up front, and two, porting the
> entire OS to a completely different platform/architecture was a task
> typically measured in weeks, not months or years. In addition,
> because it was a "mythical" assembly language, it allowed them to
> pretend they had hardware instructions that were unusually well
> suited to manipulating data structures that were unique to the
> database architecture.

Meh, I'll not too willingly concede that one.  P-code is also a made-up
machine language.

Heck, I've been guilty of doing the same--I don't know if I ever
commented on it, but I learned this one from a guy who worked on IBM
COMTRAN.

The task at hand was to quickly write a translator for COBOL that could
take non-standard COBOL constructs and extensions and turn them into
either subroutine calls or standard COBOL.  To do this, you had to
pretty much compile the whole program, then spit out the translation for
compilation by a regular compiler.  A bit complicated in details, but it
was for a multi-mainframe shared-memory realtime transaction-oriented setup.

At any rate, the idea was that you devised a fictional machine whose
inputs were "tokens" and whose output was "code".  So you developed
instructions that operated on these things, masking the details like
token formation, symbol table management, etc.    You encoded these into
a fixed instruction format and wrote an interpreter to handle the
operations themselves.  A very quick way to get things going.  When you
were satisfied, the "instructions" could be expanded with the macro
assembler into real machine language for the platform.

While not unique today, this was more than 45 years ago.  I later did a
compiled multi-user BASIC for the 8085 using the same technique.  It
took two of us 4 months to do, using nothing more than a floppy-based
MDS-800 running ISIS-II.  I still have my original design document.

The BASIC was later ported to Unix and, as of last year, I was aware of
at least one installation still using it.

One wonders were Java will be in 45 years...

--Chuck


More information about the cctalk mailing list