Bug 225

Summary: Various 56k parser bugs
Product: RMAC Reporter: ggn <ggnkua>
Component: CoreAssignee: Shamus Hammons <jlhamm>
Status: UNCONFIRMED ---    
Severity: normal CC: jlhamm
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
Attachments: The patches!

Description ggn 2023-12-26 07:17:44 CST
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 :).
Comment 1 ggn 2023-12-26 07:18:50 CST
Created attachment 218 [details]
The patches!

Thanks to Tat for spotting all of these!