## ASxxxx Cross Assemblers

####

    ASxxxx Cross Assemblers, Version 6.00, May 2026

    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,  ST9,  SX,   TLCS90,   Z8,
    Z80(HD64180,ZXN,8080,8085),  and  Z280  series  microprocessors.
    Each assembler has a device  specific  section  which  includes:
    (1)  device description, byte order, and file extension informa-
    tion, (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.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

... Building ASxxxx for Android

              A Tutorial And ASxxxx Build Options
              by Martin Taylor
              marty at martytaylor dot net

###### Last Updated: May 2026