FAIL Assembler

FAIL is the winning assembler from Stanford SAIL. It was originally written for the WAITS operating system, but was ported to TOPS-20 and is now available on twenex.org.

From the help file:

FAIL is a fast, one-pass assembler for the DECsystem-10/DECsystem-20.
FAIL is documented in DOC:FAIL.MANUAL.

Although FAIL is a great deal faster than MACRO-20, which is the
DEC-supplied assembler, new programs should be written in MACRO
because MACRO has a wider set of features to support complex
assemblies and extended addressing, e.g., PSECT.

FAIL is not entirely compatible with MACRO-20, differing most notably in
its macro capabilities, and its support for ``block structured'' symbols.

FAIL is unsupported.

FAIL works with the TOPS-20 build commands (EXECUTE, COMPILE, LOAD). The standard source file extension is .FAI.

There is a complete manual on-line in DOC:FAIL.MANUAL. An older version of the manual is available at Bitsavers'.

Here's a working Hello program. Save the following program in file HELLO.FAI, then assemble, link, and run it with @EXEC HELLO:

; Hello program in FAIL assembly

start:  hrroi 1,[asciz/Hello, World!/]
        PSOUT
        HALTF
        jrst start

end start