6502js icon indicating copy to clipboard operation
6502js copied to clipboard

Fix #2 (failure to detect undefined labels)

Open TC01 opened this issue 11 years ago • 2 comments

I already posted about this on the bug report: since no one has responded there I figured I'd open a pull request.

This should prevent undefined labels from being silently ignored and replaced with a jump to 0x1234. All it does is make the assembler return an error when an undefined label is encountered instead of pretending everything was successful.

If I had to guess, I'd say 0x1234 is being pushed so it can be detected later from elsewhere. However, the code to actually do this doesn't seem to ever have been implemented, so this is better than nothing.

TC01 avatar Feb 22 '14 16:02 TC01

I think the idea of 0x1234 is to be a placeholder for forward references, so the code comes out the right size and labels are in the right place on the second pass. Can you confirm that your fix works with code that has a forward reference? Do all the example easy6502 programs still work?

BigEd avatar Feb 27 '14 19:02 BigEd

All the example programs with labels from here still compile and run: http://skilldrick.github.io/easy6502/

I thought that it might be for something like that as well; however a quick search through the source code didn't turn up any other occurrences of 0x1234. So if it is meant to do something like that, I'm not entirely sure how it is doing it.

TC01 avatar Mar 06 '14 00:03 TC01