'a' as an operand is ignored.

Based on testing with Merlin-16+ 4.12, this seems to apply in all cases

inc a -> equivalent to inc
lda a -> equivalent to lda (bad address mode error)

if you do have an 'a' label, you need to specify the address mode, eg

lda |a, lda >a, lda <a
This commit is contained in:
Kelvin Sherlock 2021-08-31 18:08:08 -04:00
parent 3f090b7b67
commit fc62d0c9e7
2 changed files with 22 additions and 0 deletions

View File

@ -2418,7 +2418,11 @@ addmode php
beq :skipq
cmp #$22 ; "
beq :skipq
and #$5f
cmp #'A'
beq :a
jmp :index
:force8 lda #amforce8
tsb myvalue
jmp :index
@ -2435,6 +2439,14 @@ addmode php
tsb myvalue
jmp :index
* 'a' (no modifier) is ignored
:a iny
lda [lineptr],y
cmp #' '+1
jlt :zero
jmp :index
* skip over quoted operand component.
:skipq sta :q
:skipq1 iny

testdata/3015-amacc.S vendored Normal file
View File

@ -0,0 +1,10 @@
* explicit a operand (inc a, etc) is dropped.
inc a
dec a
lsr a
asl a
rol a
ror a