Sakrac / x65

6502 Macro Assembler in a single c++ file using the struse single file text parsing library. Supports most syntaxes.
MIT License
38 stars 7 forks source link

fix mvn/mvp operand order #19

Closed ksherlock closed 3 years ago

ksherlock commented 3 years ago

MVN/MVP operands should be swapped in memory. ie, mvn $01,$02 is encoded as: $54 $02 $01

(The assemblers below all take a 24-bit address as the operand but only take the bank byte from it. But that's a separate issue)

ORCA/M:

0002 0000 54 02 01                    mvn $010000,$020000 
0003 0003 44 02 01                    mvp $010000,$020000 

MPW Asm IIgs:

00000 0000 54 02 01                     mvn $010000,$020000
00003 0003 44 02 01                     mvp $010000,$020000

Merlin 16:

008000: 54 02 01     2              mvn  $010000,$020000 
008003: 44 02 01     3              mvp  $010000,$020000 
Sakrac commented 3 years ago

Thanks for fixing!