Hi folks,

I’ve run into what I think might be a bug in sdas8051 as distributed with cdcc 
4.3.0.  The following test code:

        .AREA   CODE1 (ABS)
        .ORG    0x0000
        JZ      0x0000
        JB      0x00,0x0000
        ACALL   0x0000
        .ORG    0x8000
L1:
        LJMP    L1

...produces:

    $ sdas8051 -l -o test.s
    test.s:7: Error: <p> phase error: label location changing between passes 2 
and 3
    ?ASxxxx-Warning in line 8 of test.s
                   large constant 0xff808000 truncated to 16 bits
    removing test.rel

...and the issue can also be seen in the .lst:

                                      1         .AREA   CODE1 (ABS)
      000000                          2         .ORG    0x0000
      000000 60 00            [24]    3         JZ      0x0000
      000002 20 00 00         [24]    4         JB      0x00,0x0000
      000005 00 00            [12]    5         ACALL   0x0000
      FF808000                          6         .ORG    0x8000
p     FF808000                          7 L1:
      FF808000 02 80 00         [24]    8         LJMP    L1

Advice or workarounds appreciated?  I ran into this when trying to re-assemble 
some dumped ROMS from a DEC vt220; this is the simplest source sequence to 
which I seem able to reduce the issue.

        --FritzM.




_______________________________________________
Sdcc-user mailing list
Sdcc-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to