Cannot use "g" as an arg constraint because some memory references aren't actually valid and gcc is a bit too smart in parsing (%0) and a bit too dumb in knowing which memory refs are not valid. Using "r" seems to constrain gcc to use a register as in (%eax) and not substitute a memory reference like (-36(%ebp)). No one really understands these things.
Loading
Please register or sign in to comment