ASxxxx Cross Assemblers

        ASxxxx Cross Assemblers, Version 5.40, March 2021 

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

        Operating System:  Linux, Windows, MS-DOS 
        or other supporting ANSI C.  

        Source Language:  C 


           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,
        6100, 61860,  6500,  6800(6802/6808),  6801(6803/HD6303),  6804,
        6805,  68HC(S)08,  6809,  68HC11, 68HC(S)12, 68HC16, 740, 78K/0,
        78K/0S, 8008,  8008S,  8048(8041/8022/8021),  8051,  8085(8080),
        AT89LP,  8X300(8X305),  DS8XCXXX, AVR, EZ80, F2MC8L/FX, F8/3870,
        GameBoy(Z80), H8/3xx, Cypress PSoC(M8C), PIC, Rabbit  2000/3000,
        ST6,  ST7,  ST8,  Z8, Z80(HD64180), and Z280 series microproces-
        sors.  Each  assembler  has  a  device  specific  section  which
        includes:   (1)  device description, byte order, and file exten-
        sion 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

           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.
        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, BUFFALO
        2.5 for the 6811, and MONDEB for 8051 / AT89LP series ) are  in-
        cluded 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

... About the Author

... Home Page

Last Updated: December 2021
Visitor Count: 13,988