Assembler Reference Material

This course starts with things at the hardware/software interface, and that means it very much includes assemblers. In EE380, you used assemblers, but you never saw how one is built. In EE480, you'll actually have to build a couple of them.

Handling of forward references
The main thing that complicates writing an assembler is the need to resolve forward references: references to symbolic values (labels) that appear earlier in the program text than the definitions of those symbols. The explanation of how to handle forward references starts on page 78 of my old compiler notes (PDF).
AIK (Assembler Interpreter from Kentucky)
This assembler-interpreter was created explicitly for EE480 by H. Dietz. It was built using the PCCTS/Antlr tools (which were created by Dietz's group back in the early 1990s). Given a very concise specification of an assembly language, it interpretively implements a relatively full-featured assembler.


EE480 Advanced Computer Architecture.