## Assembly and Linking Example

####

      This section describes the assembly and linking of a moderately
    complex program.  (The project is a multi-channel high voltage
    control system for the stabilization of nuclear radiation detection
    equipment.)

####

        ... Assembly
        ... Linking

        ... Go to Documentation Index

### ... Assembly

####

#####

      the project files included eleven .asm modules and
    four .def include files:

            phs.asm                 system.def
            acia.asm                area.def
            acq.asm                 define.def
            hvctrl.asm              data.def
            termio.asm
            select.asm
            status.asm
            histos.asm
            help.asm
            aiconv.asm
            phsmon.asm

      Each of the modules was assembled individually.  This was done
    by creating a command file containing the assembly command lines:

            as6809 -gloaxzsff phs
            as6809 -gloaxzsff acia
            as6809 -gloaxzsff acq
            as6809 -gloaxzsff hvctrl
            as6809 -gloaxzsff termio
            as6809 -gloaxzsff select
            as6809 -gloaxzsff status
            as6809 -gloaxzsff histos
            as6809 -gloaxzsff help
            as6809 -gloaxzsff aiconv
            as6809 -gloaxzsff phsmon

    the assembly process produced an object (.rel) file (-s), a listing
    (.lst) file (-l), and a symbol (.sym) file (-s) for each individual
    .asm file.  the assembly process made all undefined labels
    global (-g), all internal labels global (-a), the output in HEX
    format (-x), and the listing files to have relocations flagged (-ff).
    This project required the case sensitive option, -z.

     => Section Index

### ... Linking

####

#####

      The program was linked using a file (PHS.LNK) containing the following
    command lines:

            -mxsuz
            phs
            acia
            acq
            hvctrl
            termio
            select
            status
            histos
            help
            aiconv
            phsmon
            -b WORKPG = 0x0F00
            -b BUFSAV = bufsav
            -b PGMSAV = pgmsav
            -b IRQVEC = irqvec
            -e

    and was invoked by the command line:

            aslink -f phs

    The linking process produced a map (.map) file (-m) in HEX format (-x)
    and a Motorola (.s19) loader file (-s).  The -b options specify the
    memory addresses for certain program sections as defined in the
    assembled modules.  The file input was terminated by the -e option.

     => Section Index

####

... Exit the ASxxxx Documentation

... Home Page