fix cmpxchg for asm