Sakrac / x65

6502 Macro Assembler in a single c++ file using the struse single file text parsing library. Supports most syntaxes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

65816 Immediate Modes

dwsJason opened this issue · comments

The 65816 immediate modes, don't respect the A8, and I8 settings.

example listing below:
$000d e2 30 sep #$30 3 sep #$30
I8
$000f a2 34 12 ldx #$1234 2+ ldx #$1234
A8
$0012 a9 34 12 lda #$1234 2+ lda #$1234

Code generation in this case, should be limited to A2 34, and A9 34

This was a real bug, I was accidentally stripping all 16 bit immediate modes, please check it!

My lst output below, unfortunately, doesn't seem fixed.

$000d e2 30 sep #$30 3 sep #$30
I8
$000f a2 56 34 ldx #$3456 2+ ldx #$3456
A8
$0012 a9 56 34 lda #$3456 2+ lda #$3456

You're right! I was checking the value and letting it override the I8/A8 keywords which was totally wrong. This should be fixed now!

Confirmed Fixed with latest. Thank you!