svpdev
svpdev copied to clipboard
[SSP16ASM] Implement a two-pass assembly process
After introducing the missing instruction LD A, addr (as in LD A, 050 to access mem bank 0 - addr 50), the whole labeling system has broke (in 0.1.3). The whole labeling/constants system is too flimsy and convoluted. This would be fixed by redoing the whole assembly process with a proper two-pass approach:
- parse code in a first pass to calculate label locations based on each instruction size (properly calculated, not as of now).
- replace labels and constants with the actual values
- perform second pass with the instructions (along with proper values) to generate assembled file.