struct / union in initializer, RFE #901.
[sdcc.git] / sdcc / sdas / doc / abstra.txt
blobe68423207bd109f73ee663e671033c75709b622c
3         ASxxxx Cross Assemblers, Version 1.7, November 1995 
5         Submitted by Alan R.  Baldwin, 
6         Kent State University, Kent, Ohio 
8         Operating System:  TSX+, RT-11, MS/DOS, PDOS 
9         or other supporting K&R C.  
11         Source Langauge:  C 
13         Abstract:  
15            The  ASxxxx  assemblers are a series of microprocessor assem-
16         blers written in the C programming  language.   This  collection
17         contains cross assemblers for the 6800(6802/6808), 6801(hd6303),
18         6804,   6805,   68HC08,   6809,   6811,   68HC16,    8085(8080),
19         z80(hd64180), H8/3xx, and 6500 series microprocessors.  Each as-
20         sembler has a  device  specific  section  which  includes:   (1)
21         device  description, byte order, and file extension information,
22         (2) a table of assembler general directives, special directives,
23         assembler  mnemonics and associated operation codes, (3) machine
24         specific code for processing the  device  mnemonics,  addressing
25         modes, and special directives.  
27            The assemblers have a common device independent section which
28         handles the details of file input/output, symbol  table  genera-
29         tion,  program/data  areas,  expression  analysis, and assembler
30         directive processing.  
32            The  assemblers  provide  the following features:  (1) alpha-
33         betized, formatted symbol table listings, (2) relocatable object
34         modules, (3) global symbols for linking object modules, (4) con-
35         ditional assembly directives, (5) reusable  local  symbols,  and
36         (6) include-file processing.  
38            The  companion program ASLINK is a relocating linker perform-
39         ing the following functions:  (1) bind multiple  object  modules
40         into  a  single  memory  image,  (2) resolve inter-module symbol
41         references,  (3)  resolve  undefined  symbols   from   specified
42         librarys of object modules, (4) process absolute, relative, con-
43         catenated, and overlay attributes in data and program  sections,
44         (5)  perform  byte and word program-counter relative (pc or pcr)
45         addressing calculations, (6) define absolute  symbol  values  at
46         link  time, (7) define absolute area base address values at link
47         time, (8) produce Intel Hex or Motorola  S19  output  file,  (9)
48         produce  a  map  of the linked memory image, and (10) update the
49         ASxxxx assembler listing files  with  the  absolute  linked  ad-
50         dresses and data.  
52            The  assemblers  and  linker  have  been tested using DECUS C
53         under TSX+ and RT-11, PDOS C V5.4b, and Symantec C/C++ V6.1/V7.0
54         under  DOS/Windows  3.x.  Complete source code and documentation
55         for the assemblers and linker is included with the distribution.
56         Additionally, test code for each assembler and several micropro-
57         cessor monitors ( ASSIST05 for the 6805, MONDEB and ASSIST09 for
58         the  6809, and BUFFALO 2.5 for the 6811) are included as working
59         examples of use of these assemblers.