The pile of feature information that used to be here is now updated in the spreadsheet "Features.xls". MACREL has been identified as "the assembler to beat". It has enough features to just about do what we need, and obeys the PDP-8 conventions sufficiently to assemble the existing body of PDP-8 code, as well. SMAL8 is currently missing EXPUNGE, FIXMRI, and FIXTAB, which are pretty essential for assembling legacy code without modification. Also critical for legacy code would be literal support. Most of the other PAL variants come pretty easily after that. MACREL is not entirely compatible with MACRO-8, so probably both feature sets would need to be implemented. The MACREL relocation model is also page-oriented -- things can go on any page, but allocate the whole page. That "solves" the page packing problem, but I'd like to hope to do better. The SABR assembler is interesting, but doesn't support enough of the directives used in legacy code. It also has it's own assembler hacks and funky runtime to support a coding model that pretends to be independent of the addressing limitations of the PDP-8. The RALF assembler is even worse, and barely supports the PDP-8 at all. It is more properly described as an assembler for the Floating Point Processor. That was good enough for Fortran IV, and would probably support C as well, if I wanted to target Small-C for the FPP. Features we still need: START, not S Fix TEXT compatibility. DEVICE pseudo-op FILENAME pseudo-op BSW DVI/NMI/SHL/ASR/LSR MQL/MQA/SWP/CAM/ACL SKON/SRQ/GTF/RTF/SGT/CAF KCF/KIE IOT/OPR PSF/PCF/PPC PCE, RPE TFL/TSK/SPF/SPI EXPUNGE/FIXMRI/FIXTAB pseudo-ops ASECT/DSECT/FSECT/RSECT/XSECT/ZSECT pseudo-ops ENPUNCH/NOPUNCH pseudo-ops GLOBAL/ENTRY/EXTERNAL/ZTERNAL/SECREF pseudo-ops IFDEF/IFNDEF pseudo-ops IFZERO/IFNZRO pseudo-ops XLIST pseudo-op Literals: "[", "(" Multiply with "^", divide with "%" ZBLOCK pseudo-op Features for later: <> Expressions ^" for control characters ^B, ^D, ^O, trailing dot for radix control backslash lexical operator CHAIN as well as INCLUDE Colon locals CDI for CXF DTORG? FLD function JSW LEVEL Links for offpage direct access LIST/NOLIST MEXIT NARGS/NCHAR Assembly time PUSH, POP RADIX RELOC REPT/ENDR Two character constants with single quote Trailing $ for local symbols VERSION XEDF