Merry Christmas! After some tests a few illegal parallel move combinations have been uncovered in the parser. All the instructions in the following source should produce errors, but in current version they don't. .56001 .org p:0 ;**** 18 [test.asm 18]: ERROR --- Duplicate destination register not allowed (X data move field) ;18 P:0010 000021 ADC X,A #100,A ADC X,A #100,A ;**** 20 [test.asm 20]: ERROR --- Duplicate destination register not allowed (X data move field) ;20 P:0012 000021 ADC X,A #100,A0 ADC X,A #100,A0 ;**** 41 [test.asm 41]: ERROR --- Duplicate destination register not allowed (Y data move field) ;41 P:0024 000029 ADC X,B Y:(R0)+N0,B ADC X,B Y:(R0)+N0,B ;**** 65 [test.asm 65]: ERROR --- Duplicate destination register not allowed (Y data move field) ;65 P:003D 000039 ADC Y,B B,X:(R1)+ X0,B ADC Y,B B,X:(R1)+ X0,B ;**** 66 [test.asm 66]: ERROR --- Invalid register specified: x0 (Y data move field) ;66 P:003E 000039 ADC Y,B A,X:$1000 X0,A ADC Y,B A,X:$1000 X0,A ;**** 74 [test.asm 74]: ERROR --- Only register indirect addressing allowed (Y data move field) ;74 P:0045 000039 ADC Y,B Y0,A A,Y:$10 ADC Y,B Y0,A A,Y:$10 The upcoming patch fixes all of them, plus doesn't break any regressions, which is always a plus :).
Created attachment 218 [details] The patches! Thanks to Tat for spotting all of these!