... Building an Assembler
... Building ASlink
... Go to Documentation Index
The assemblers and linker have been successfully compiled us- ing the DECUS C (PDP-11) compiler (patch level 9) with RT-11/TSX+, GCC 2.7.2 with Linux, Symantec C/C++ V6.1/V7.2 and DJGPP (GCC 2.8.2) with MS-DOS and Windows 3.x/95/98. The device specific header file (i.e. m6800.h, m6801.h, etc.) contains the DECUS C 'BUILD' directives for generating a command file to compile, assemble, and link the necessary files to prepare an executable image for a particular assembler. The required option, definition, and .mak files for building the assemblers with the Symantec C/C++ V6.1/V7.2 Compilers are included in the \asxmak\symantec\build directory. The makefile for Linux and DJGPP are in the /asxmak/linux/build and \asxmak\djgpp\build directories respectively.
The building of a typical assembler (6809 for example) re- quires the following files: 1. m6809.h 2. m09ext.c 3. m09mch.c 4. m09adr.c 5. m09pst.c 6. asxxxx.h 7. asmain.c 8. aslex.c 9. assym.c 10. assubr.c 11. asexpr.c 12. asdata.c 13. aslist.c 14. asout.c The first five files are the 6809 processor dependent sec- tions which contain the following: 1. m6809.h - header file containing the machine specific definitions of constants, variables, structures, and types 2. m09ext - device description, byte order, and file ex- tension information 3. m09pst - a table of the assembler general directives, special device directives, and assembler mnemonics with associated operation codes 4. m09mch / m09adr - machine specific code for processing the device mnemonics, addressing modes, and special directives The remaining nine files provide the device independent sec- tions which handle the details of file input/output, symbol table generation, program/data areas, expression analysis, and assembler directive processing.=> Section Index
The building of the linker requires the following files: 1. aslink.h 2. lkmain.c 3. lklex.c 4. lkarea.c 5. lkhead.c 6. lksym.c 7. lkeval.c 8. lkdata.c 9. lklist.c 10. lkrloc.c 11. lklibr.c 12. lks19.c 13. lkihx.c=> Section Index