20 #ifndef __JackAtomic_WIN32__    21 #define __JackAtomic_WIN32__    23 #include "JackTypes.h"    33         #define inline __inline    39 inline char CAS(
volatile UInt32 value, UInt32 newvalue, 
volatile void * addr)
    48         LOCK cmpxchg dword ptr [esi], ebx
    58 #define LOCK "lock ; "    60 static inline char CAS(
volatile UInt32 value, UInt32 newvalue, 
volatile void* addr)
    63     __asm__ __volatile__ (
    65         LOCK 
"cmpxchg %2, (%1) \n\t"    68         : 
"c" (addr), 
"d" (newvalue), 
"a" (value)