Objectives
- Read input for basic assembly code.
- Generate machine code.
- [Optional] Include supports for labels.
- [Optional] Ensure it can assemble a Fibonacci program.
Approach Taken
- Read input file and parse an assembly language
- Ensure errors and warnings are managed
- Output machine code based upon input file
- Include support for forwards and backward reference labels
Learning Outcomes
Had the opportunity to learn how to implement and use a more advanced data-structure (Red Black tree) for storing error and link information - to enable the assembler scale better when given large assembly files.