Welcome

ASxxxx Cross Assemblers


ASxxxx Cross Assemblers, Version 5.00, April 2009 

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

Operating System:  Linux, Windows, MS-DOS 
or other supporting ANSI 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 1802, S2650, SC/MP, MPS430,
61860, 6500,  6800(6802/6808),  6801(6803/HD6303),  6804,  6805,
68HC(S)08,     6809,    68HC11,    68HC(S)12,    68HC16,    740,
8048(8041/8022/8021)  8051,  8085(8080),  DS8xCxxx,  AVR,  EZ80,
F2MC8L/FX,  GameBoy(Z80), H8/3xx, Cypress PSoC(M8C), PIC, Rabbit
2000/3000, Z8, and Z80(HD64180)  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  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.7a, VC6, and Visual Studio 2005.  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, 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

... Home Page

Last Updated: April 2009