[COFF] ancient macros, machine code translation, as mental architecture models

Aron Insinga aki at insinga.com
Wed Jul 17 06:09:01 AEST 2024




On 7/16/24 15:55, Aron Insinga wrote:
> On 7/15/24 15:39, John Levine wrote:
>> It appears that Douglas McIlroy <douglas.mcilroy at dartmouth.edu> said:
>>> In 1959, ...
>>> We never considered anything but recursive expansion, where macro
>>> definitions can contain macro calls; thus the TX-0 model comes as 
>>> quite a
>>> surprise. We kept a modest stack of the state of each active macro
>>> expansion. We certainly did not foresee that within a few years some
>>> applications would need a 70-level stack!
>> As the PDP-1 Macro imeplementation manual said about the macro feature:
>>
>>     It is the weakest
>>    in that it is quite inflexible and does not incorporate any of the 
>> more significant improvements
>>    in assembler technology that have occurred since the logic was 
>> first written in 1957.
>>
>> The PDP-1 was not a very big machine, only 4K words and the only
>> standard I/O device was paper tape, so no overlays or multiple passes.
>> I can imagine that while they knew how to write a better macro
>> processor, they didn't want to use up the memory it would have needed.
>>
>> Bitsavers has a bunch of memos about the TX-0.
>>
>> Memo 39 describes TX-0 assembler as of 1962, which had real macros
>> that could insert arbitrary strings, as they show in an example on
>> pages 10-11.
>>
>> https://bitsavers.org/pdf/mit/tx-0/memos/M-5001-39_MIDAS_Nov62.pdf
>>
>> There are earlier memos about MACRO in 1959 and 1961 which suggest a 
>> weaker
>> macro facility but don't have details.
>>
>> R's,
>> John
>
> At MIT they wrote two assemblers on the TX-0, and retargeted/ported 
> both of them to the PDP-1.  (The machines were in adjacent rooms at 
> the time.  Their architectures were very similar.)
>
> * MACRO (macro expansion by limited partly-assembed memory words). DEC 
> adopted MACRO, but its later MACRO assemblers do not seem to be at all 
> based on that one.
>
> * Midas (generalized macro expansion by inserting a character 
> sequence).  MIT chose Midas for future work, and they rewrote it for 
> the PDP-6, so that's what you find on ITS.
>
> One of these retargets/ports was a challenge by Jack Dennis to a group 
> of 4 or 5 students (the original hackers from the Tech Model Railroad 
> Club) to do it over a weekend.
>
> I agree, there is a lot of great stuff in these memos, from both MIT 
> and from DEC, and in the oral histories done by the Computer History 
> Museum and/or  the Smithsonian.
>
> Bitsavers also has the hardware details, although they are in a very 
> old notation, more abbreviated circuit schematics than logic diagrams..

p.s. That was too sweeping of a statement.  For the machines built by 
MIT, I found block diagrams and some instruction flows and lots of 
memos, but not the clock distribution matrix details.  Since the WW 
clock distribution matrix (ROM) triggered Wilkes' invention of 
microprogramming, I'd love to compare WW's with their later machines'.  
And I haven't found more than a little on Wes Clark's later machines, 
L-1 and ARC-1.  I know some info is in the U. Wash. archives.  So many 
curiosities, so little time. :-)

Best,

- Aron


More information about the COFF mailing list