diff --git a/base_c/src/atomicfunc_32.asm b/base_c/src/atomicfunc_32.asm index c485ee5..3174b40 100644 --- a/base_c/src/atomicfunc_32.asm +++ b/base_c/src/atomicfunc_32.asm @@ -114,7 +114,7 @@ define_or_assign @embb_internal__atomic_or_assign_1_asm@8, byte, dl define_store macro name, size, value public name name proc - mov size ptr [ecx], value + xchg size ptr [ecx], value ret name endp endm diff --git a/base_c/src/atomicfunc_64.asm b/base_c/src/atomicfunc_64.asm index 55e0567..8e5e658 100644 --- a/base_c/src/atomicfunc_64.asm +++ b/base_c/src/atomicfunc_64.asm @@ -107,7 +107,7 @@ define_or_assign embb_internal__atomic_or_assign_1_asm, byte, dl define_store macro name, size, value public name name proc - mov size ptr [rcx], value + xchg size ptr [rcx], value ret name endp endm