Hi,

I have a question about inline assembly code. If I do something like

    register int x;
    register int y;

    x = y = 0;

    __asm__ __volatile__ (
        ...manipulate x, y and other stuff for a while....
        : "+r"(x), "+r"(y)
    );

to set up two variables for manipulation within the assembly code things go wrong. x and y get coalesced during optimisation and are not treated as separate working values. This is exactly what one would expect from the documentation. What I can't figure out from the docs is how I am supposed to achieve my goal, and be able to handle working variables reliably within the assembly language block.Can anyone help?

Regards,
Steve


Reply via email to