# New Ticket Created by  Bob Rogers 
# Please include the string:  [perl #52858]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52858 >


   If you run the following PASM code:

        new P0, 'Integer'
        set P0, 77
        set $N1, 1
        set $N2, 2
        set $N3, 3
        print $N1
        print ' '
        print $N2
        print ' '
        print $N3
        print "\n"
        print P0
        print "\n"
        end

you will see something like the following output:

        [EMAIL PROTECTED]> ./parrot dollar-vars.pasm
        3.000000 3.000000 3.000000
        Segmentation fault
        [EMAIL PROTECTED]> 

The reason for this odd behavior is that all of the $N registers are
getting mapped to "N-1" (that's the register *before* N0); disassembly
shows the bogus register numbers clearly.  This happens to overwrite P0,
hence the segfault.

   So either the "$" syntax for registers must be disabled in PASM, or
it must be implemented properly.  (I don't particularly care, and
haven't the IMCC-fu to do anything about it myself.)

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

Reply via email to