ASL is a portable macro cross assembler for a variety of microprocessors and microcontrollers. Though it is mainly targeted at embedded processors and single-board computers, you also find CPU families in the target list that are used in workstations and PCs.