ASxxxx Cross Assemblers, Version 5.50, September 2023
Submitted by Alan R. Baldwin,
Kent State University, Kent, Ohio
Operating System: Linux, Windows, MS-DOS
or other supporting ANSI C.
Source Language: C
Abstract:
The ASxxxx assemblers are a series of microprocessor assem-
blers written in the C programming language. This collection
contains cross assemblers for the 1802, S2650, SC/MP,
4040(4004), MPS430, 6100, 61860, 6500, 6800(6802/6808),
6801(6803/HD6303), 6804, 6805, 68HC(S)08, 6809, 68HC11,
68HC(S)12, 68HC16, 68CF 68K, 740, 78K/0, 78K/0S, 8008, 8008S,
8048(8041/8022/8021), 8051, 8085(8080), AT89LP, 8X300(8X305),
COP4, COP8, DS8XCXXX, AVR, EZ8, EZ80, F2MC8L/FX, F8/3870,
GameBoy(Z80), H8/3xx, Cypress PSoC(M8C), PDP11, PIC, Rabbit
2000/3000, RS08, ST6, ST7, ST8, SX, Z8, Z80(HD64180), and Z280
series microprocessors. Each assembler has a device specific
section which includes: (1) device description, byte order, and
file extension information, (2) a table of assembler general
directives, special directives, assembler mnemonics and asso-
ciated operation codes, (3) machine specific code for processing
the device mnemonics, addressing modes, and special directives.
The assemblers have a common device independent section which
handles the details of file input/output, symbol table genera-
tion, program/data areas, expression analysis, and assembler
directive processing.
The assemblers provide the following features: (1) alpha-
betized, formatted symbol table listings, (2) relocatable object
modules, (3) global symbols for linking object modules, (4) con-
ditional assembly directives, (5) reusable local symbols, (6)
include-file processing, and (7) a general macro processing
facility.
The companion program ASLINK is a relocating linker perform-
ing the following functions: (1) bind multiple object modules
into a single memory image, (2) resolve inter-module symbol
references, (3) resolve undefined symbols from specified
librarys of object modules, (4) process absolute, relative, con-
catenated, and overlay attributes in data and program sections,
(5) perform byte and word program-counter relative (pc or pcr)
addressing calculations, (6) define absolute symbol values at
link time, (7) define absolute area base address values at link
time, (8) produce an Intel Hex record, Motorola S record or
Tandy CoCo Disk Basic output file, (9) produce a map of the
linked memory image, and (10) update the ASxxxx assembler
listing files with the absolute linked addresses and data.
The assemblers and linker have been tested using Linux and
DJGPP, Cygwin, Symantec C/C++ V7.2, Borland Turbo C++ 3.0, Open
Watcom V1.9, VC6, Visual Studio 2005, 2010, 2013, 2015, 2019 and
2022. Complete source code and documentation for the assemblers
and linker is included with the distribution. Additionally,
test code for each assembler and several microprocessor monitors
( ASSIST05 for the 6805, MONDEB and ASSIST09 for the 6809, BUF-
FALO 2.5 for the 6811, and MONDEB for 8051 / AT89LP series ) are
included as working examples of use of these assemblers.
... View documentation for the ASxxxx Assemblers and Linker
... Recent updates to the ASxxxx Assemblers and Linker
... Get the "ASxxxx Cross Assemblers"
... Reported Bugs / Fixes / ...
... Building ASxxxx for Android
A Tutorial And ASxxxx Build Options
by Martin Tayler
marty at martytaylor dot net