... Building an Assembler
... Building ASlink
... Go to Documentation Index
The assemblers and linker have been tested using Linux, DJGPP, Cygwin, Symantec C/C++ V6.1/V7.2, and VC6 with MS-DOS/Windows 3.x/9x/NT/2000/XP. Complete source code and do- cumentation 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, and BUFFALO 2.5 for the 6811) are included as working examples of use of these assemblers. The assemblers and linker have been successfully compiled us- ing Linux, Cygwin, DJGPP (GCC 2.8.2), Symantec C/C++ V6.1/V7.2, and VC6. A Linux makefile, Cygwin makefile, DJGPP makefile, Symantec project files, and VC6 project files are available to build all the assemblers and the linker.
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. asdbg.c 9. aslex.c 10. assym.c 11. assubr.c 12. asexpr.c 13. asdata.c 14. aslist.c 15. 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.
The building of the linker requires the following files: 1. aslink.h 2. lkmain.c 3. lklex.c 4. lkarea.c 5. lkbank.c 6. lkhead.c 7. lksym.c 8. lkeval.c 9. lkdata.c 10. lklist.c 11. lkrloc.c 12. lkrloc3.c 13. lkrloc4.c 14. lklibr.c 15. lknoice.c 16. lksdcdb.c 17. lkout.c