Category : Assembly Language Source Code
Archive   : CUG292.ZIP
Filename : ABSTRA.DOC

 
Output of file : ABSTRA.DOC contained in archive : CUG292.ZIP



ASxxxx Cross Assemblers, Version 1.1, June 1990

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

Operating System: TSX+, RT-11, MS/DOS, PDOS
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, 6809, 6811, 8085(8080), and z80(hd64180) micropro-
cessors. 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, 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) process absolute, relative, concatenated, and
overlay attributes in data and program sections, (4) perform
byte and word program-counter relative (pc or pcr) addressing
calculations, (5) define absolute symbol values at link time,
(6) define absolute area base address values at link time, (7)
produce Intel Hex or Motorola S19 output file, and (8) produce a
map of the linked memory image.

The assemblers and linker have been tested using DECUS C
under TSX+ and RT-11, PDOS C V5.4b, and with TurboC V1.5 under
MS/DOS. Complete source code and documentation for the assem-
blers and linker is included with the distribution. Addi-
tionally, 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 in-
cluded as working examples of use of these assemblers.