The machine independant SMAL assembler and linker supports conditional
and macro assembly and all linkage editing operations commonly associated
with languages such as FORTRAN and C. It comes with a user's manual that
also explains how to customize it to support a variety of machine
instruction sets.
There are three versions, two written in fairly portable Pascal and one in C.
Note that these are old software and have survived many portings to different
machines:
- The 16 bit version;
Pascal code and
user's manual
(plain text format). This supports byte addressing with a 16 bit address
space and 16 bit word size.
- 32 bit version A;
Pascal code and
user's manual
(nroff -me format). This supports word addressing with a 32 bit address space
and a 32 bit word size.
- 32 bit version B;
C code and
user's manual
(web format). This supports byte addressing with a 32 bit address and
and a 32 bit word size.
Machine Specific versions of SMAL
Various people have customized versions of SMAL for specific machines.
The following versions are available here, all in Pascal:
Other cross development tools
- PDP-8;
C code.
This largely supports the PAL-8 format documented in DEC's Introduction
to Programming, 1973. Gary Messenbrink of Netcom based his
enhanced version
on this to support BART's fleet of PDP-8 systems.
-
14-bit PIC support tools
are available. These support the
PIC16C72, PIC16C73, PIC16C74, PIC16C76, PIC16C77 and several others.
The tools include the SMALpic assembler, the SNOPPP PIC programmer,
and a Linux driver for the latter. The assembler is derived from
the 32-bit SMAL assembler, Version B, listed above.