An alternative implementation of LC-3 assembler, with comprehensive error messages.
Multi-pass processing is the highlight of this implementation. It enables clear program structure, and comprehensive error checking and reporting. The result is a single file LC-3 assembler that is suitable for education environment.