|
In testing my assembler, I've found a weird behavior with the supplied assembler. If you assemble a file, and then save it, it does the right thing. But, if you do the compare file, it does not generate the same assembly code. Actually, it generates flawed code.
To reproduce:
* Open Assembler
* Load Rect.asm
* Do fast assemble
* Save to Rect-ref.hack
* Rewind
* Load Rect-ref.hack for comparison
* Do fast assemble
Somehow, when doing the comparison, the second symbol defined (@address) is getting an address of 16, instead of the 17 it should have, and which it actually computed correctly on the non-compare pass.
|