diff options
| author | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-01-08 16:09:09 +0100 |
|---|---|---|
| committer | Miquel Sabaté Solà <mikisabate@gmail.com> | 2025-01-08 16:09:09 +0100 |
| commit | c060ab9807e66caa328259a0e19559d7d2727533 (patch) | |
| tree | 61120b587c56ab5a17dbd7356f223907ae1c3c89 /lib/xixanta/src/object.rs | |
| parent | 9b5e5aa6d36a550bed84f85df8e1e46fcf9765e1 (diff) | |
| download | tools.nes-c060ab9807e66caa328259a0e19559d7d2727533.tar.gz tools.nes-c060ab9807e66caa328259a0e19559d7d2727533.zip | |
Try absolute addressing on bad zeropage addressing
Sometimes, out of clarity, the programmer may have written something
along the lines of:
lda $40, y
This is invalid because the `lda` instruction does not allow zeropage
y-indexing addressing mode. That being said, it does allow for absolute
y-indexing addressing mode. This commit allows this syntax by
transforming code like the previous one into:
lda $0040, y
This cannot always be done, but the assembler should at least try if
it's possible and not trouble the programmer.
That being said, this is otherwise a bit shady since the programmer
might think that it's a 2-byte instruction when it's a 3-byte one.
Hence, maybe a future linter can pick up code like this and suggest a
more explicit writing.
Signed-off-by: Miquel Sabaté Solà <mikisabate@gmail.com>
Diffstat (limited to 'lib/xixanta/src/object.rs')
0 files changed, 0 insertions, 0 deletions
