ด้านล่างนี้เป็นโค้ดสำหรับโค้ด 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");