Welcome

ASxxxx Cross Assemblers



ASxxxx Cross Assemblers, Version 3.11, January 2002 

Submitted by Alan R.  Baldwin, 
Kent State University, Kent, Ohio 

Operating System:  MS-DOS, Windows, Linux 
or other supporting K&R C.  

Source Langauge:  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 6800(6802/6808), 6801(hd6303),
6804,  6805,  68HC08,  6809,  68HC11,  68HC12,   68HC16,   8051,
8085(8080),  z80(hd64180),  GameBoy(Z80),  H8/3xx,  DS8xCxxx and
6500  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
associated operation codes, (3) machine specific code  for  pro-
cessing  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,  and
(6) include-file processing.  

   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 Intel Hex or Motorola S  record  output  file,
(9)  produce  a  map of the linked memory image, and (10) update
the ASxxxx assembler listing files with the absolute linked  ad-
dresses and data.  

   The  assemblers  and  linker  have  been  tested using Linux,
DJGPP,  Cygwin-1.3.x,  Sun   Solaris   (GCC),   Symantec   C/C++
V6.1/V7.2,  and VC6 with MS-DOS/Windows 3.x/9x/NT/2000/XP.  Com-
plete 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, and
BUFFALO 2.5 for the 6811) 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 / ...

... About the Author

... Home Page