SPASM - Fast, Single-Pass Assembler
SPASM is a fast, assembler-interpreter system for System/360/370 Assembler language. It provides:
  The few restrictions derive from the one-pass load-and-go nature of the assembler. 
The system runs in about 75K of memory, and is re-entrant.  It is written entirely in
F-level Assembler language.  An implementation guide is included in the distribution
tape (and available below in PDF format).  The distribution tape also
includes a DOS version.
The version of SPASM was obtained from the SPLA tapes
available at https://www.cbttape.org/spla.htm. 
The thirty files were extracted from the SPL603 tape image and used to
reconstruct the ten datasets contained on a HET
format tape image as standard labeled tape files.  That tape image is
available for download from this site as spasm.tgz
[MD5: C249968D68C05AC04F024F89F4FF8C42]. 
The eleven files are all RECFM=FB,LRECL=80,BLKSIZE=3200 and the contents of the
files are:
The following jobstream may be used to print the tape description and installation guide (file #1):
The User Guide (file #2 on the tape) is available in a PDF: SPASM User Guide.
The following jobstream may be used to link-edit the SPASM load module:
// JOB (SYS),'INSTALL SPASM',CLASS=S,MSGCLASS=X //THREE EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=FILE3,DISP=(OLD,PASS),UNIT=TAPE,VOL=SER=SPASM5, // LABEL=(3,SL,,IN) //SYSUT2 DD DSN=&FILE3,DISP=(NEW,PASS),UNIT=SYSDA, // SPACE=(80,(160,20)), // DCB=(RECFM=F,LRECL=80,BLKSIZE=80) //FIVE EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT1 DD DSN=FILE5,DISP=(OLD,PASS),UNIT=TAPE,VOL=SER=SPASM5, // LABEL=(5,SL,,IN) //SYSUT2 DD DSN=&FILE5,DISP=(NEW,PASS),UNIT=SYSDA, // SPACE=(80,(1120,20)), // DCB=(RECFM=F,LRECL=80,BLKSIZE=80) //LINK EXEC LKED,PARM.LKED='LIST,MAP,NCAL' //LKED.SYSLIN DD DSN=&FILE3,DISP=(OLD,PASS) // DD DSN=&FILE5,DISP=(OLD,PASS) // DD * ENTRY SPASEXEC NAME SPASM(R) //LKED.SYSLMOD DD DSN=SYS2.LINKLIB,DISP=SHR <== TARGET LIBRARY //
Note that the load module will be placed in SYS2.LINKLIB. The Link-Editor will receive a return code 0004 because the external symbol SPATCHES will be unresolved; this is expected and normal.
The following jobstream may be used to run the suite of test/verification programs (file #9 on the tape):
I hope that you have found my instructions useful. If you have questions that I can answer to help expand upon the information I have included here, please don't hesitate to send them to me:
