5.8 - Handling duplicate labels.
5.9 - disallow operations involving labels.
5.10 - change syntax.
5.11 - issues with restoring.
5.12a - storing unique list of all instructions.
5.12b - storing list of registers we 'goto'.
5.12c - storing list of saved/restored registers.
5.12d - storing list of places a register is assigned from.