tops20 assembly tutorials

Rich Alderson RichA at
Mon Mar 7 13:20:03 CST 2016

From: David Griffith
Sent: Saturday, March 05, 2016 9:36 PM

> Would someone please point me towards a tutorial of some sort on running 
> the assembler on TOPS20 as presented in Mark Crispin's Panda distribution?

If you are comfortable with assembler language programming, these should
suffice.  If not, there are pointers to one online textbook in the recent
flurry of messages discussing the Gorin textbook; besides the TOPS-20 books
there is the Singer DEC-10 assembler book (monitor calls differ immensely
from TOPS-20, so of limited use for you).  The following are the most recent
system calls manuals, but as text files they're actually harder to read till
you're used to the format from the older version of the user's guide above.

(Oh.  TOPS-20 monitor calls are referred to as "JSYS calls", since that is
 the machine instruction, opcode 104, which invokes them.  Thus these names.)

Once you have a basic grasp of the assembler from the above, I recommend
perusing the sources to the MM mail manager suite of programs, which use
very good programming style, including the "structured programming" macros
found in MACSYM.MAC.  Ralph did not think highly of them, and used an older
style in which conditional code is included in literals; the textbooks all
seem to utilize that style.

Wait.  You said "running the assembler".  Did you mean, "How do I invoke
Macro-20?"  That's simple:  The commands COMPILE, LOAD, EXECUTE, and DEBUG
all recognize the file type .MAC as requiring Macro-20 and do the Right
Thing(TM) automagically.  If you need more than that, the Macro-20 manual
above and the LINK manual (damn it, there's not a copy on Bitsavers--talk
to me, Al!) will provide details of how to invoke them.

COMPILE does only that.  LOAD will compile if necessary and link the result
into an executable image in memory (which can be saved as an executable
program file with the SAVE command).  EXECUTE and DEBUG will compile if
needed, link, and respectively either simply start running or invoke DDT
and leave you ready to execute, examine memory, etc.

Do you need a pointer to the user commands manual?


Rich Alderson
Vintage Computing Sr. Systems Engineer
Living Computer Museum
2245 1st Avenue S
Seattle, WA 98134

mailto:RichA at

More information about the cctech mailing list