以下是 X86-64 代码的代码,其中包含一些程序集,请您帮助我们将程序集转换为 ARMv8 aarch64
__asm__ __volatile__ ("lock; cmpxchgw %1,%2"
: "=a"(sPrev)
: "q"(aWith),
"m"(*(volatile acp_sint16_t *)aAddr),
"0"(aCmp)
: "memory");
__asm__ __volatile__ ("mov %%ebx,%%eax\n\t"
"mov %%ecx,%%edx\n\t"
"lock; cmpxchg8b %1"
: "=&A"(sVal)
: "m"(*(volatile acp_sint64_t *)aAddr)
: "cc");
__asm__ __volatile__ ("lock; xaddq %0,%1"
: "+r"(sPrev), "+m"(*(volatile acp_sint64_t *)aAddr)
:
: "memory");