In this answer to 'Why were TECO variables called Q-registers?' I reference documentation indicating that the original Q-registers were separate from the same-named G-registers. (I.e., X1 would store text to a different location than U1 would store a numeric value, and the two separately-stored values could be retrieved with G1 and Q1 respectively.)

It appears from AIM-81 that the early PDP-6 versions of TECO had changed this to remove the G-registers completely, storing text or numeric values in same-named Q-registers where writing text would overwrite the numeric value and vice versa. (There were still separate commands for retreiving the text or numeric value, but you had to use the correct one: 'It does not make sense to TECO to "G" a a Q-register given a number by "U" nor to "Q" or "%" a one given text by "X".' (§V p.5))

According to Lars Brinkhoff in the comments on that answer, this combined storage continued to be the case the on PDP-6 versions of TECO and later ITS versions through 1985. Lars also says he has DEC source code with the merged registers. However, §3.3.2 of the 1985 Standard TECO manual says that 'Each Q-register is divided into two storage areas,' making it pretty clear that these versions for "VAX-11, PDP-11, PDP-10, and PDP-8" (I believe that "PDP-10" here means "TOPS-10") use split storage (though they call all registers 'Q-registers,' regardless of whether you are using X/G or U/Q with them).

So what is the time line and family tree of TECOs that use split versus merged storage for the Q-registers? And is this related in any way to expanding the number of registers that were available?

Please give references to the specific information you used to develop your answer.

  • I would suggest emailing Murphy and Samson about how PDP-1 TECO handled registers. Samson might also know more about the PDP-6 port; his web site is gricer.com Commented Oct 5, 2021 at 6:12

1 Answer 1


Partial answer. The ones I know that have Q and G refer to the same register are:

In the source files, the code for the G command starts at label QGET. Notice how it calls out to the Q code near QREG. The register storage is at label QTAB.

  • It's probably worth including in this answer the link in your comment on the question, since it seems to be the earliest evidence we have of the change from split to merged G- and Q-registers.
    – cjs
    Commented Oct 12, 2021 at 1:24
  • So what's the relationship between this stream of TECO development (if it is all one stream) and the "Standard" TECO of the 1985 manual I linked? And in particular, what's the relationship between that TOPS-10 (presumably) version and the TOPS-10 version you mention?
    – cjs
    Commented Oct 12, 2021 at 1:26
  • 1
    @cjs, sorry I don't know what the relationship is. The story goes, Clements updated the MIT TECO to run on the PDP-6 Monitor and this would be the version on which subsequent DEC TECO implementations were modeled. But this seems inconsistent with the split registers. I would suggest getting the oldest TECO-8 etc and examine those. Commented Oct 12, 2021 at 5:49
  • Presumably Dan Murphy may have brought his PDP-1 TECO to BBN and maybe it spawned some new implementations there which may have moved to DEC. I encourage you to get in touch with Murphy and others who might remember. Commented Oct 12, 2021 at 5:51
  • Unfortunately I don't have the energy to do a proper research job on this, not to mention I have no background in TECO, ITS, etc. But I am hoping the question will inspire someone better positioned than me to do the research and record their results here.
    – cjs
    Commented Oct 12, 2021 at 7:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .