1# Lockable Instructions 2 3 .text 4foo: 5 lock add %eax, (%ebx) 6 lock add $0x64, (%ebx) 7 lock adc %eax, (%ebx) 8 lock adc $0x64, (%ebx) 9 lock and %eax, (%ebx) 10 lock and $0x64, (%ebx) 11 lock btc %eax, (%ebx) 12 lock btc $0x64, (%ebx) 13 lock btr %eax, (%ebx) 14 lock btr $0x64, (%ebx) 15 lock bts %eax, (%ebx) 16 lock bts $0x64, (%ebx) 17 lock cmpxchg %eax,(%ebx) 18 lock cmpxchg8b (%ebx) 19 lock decl (%ebx) 20 lock incl (%ebx) 21 lock negl (%ebx) 22 lock notl (%ebx) 23 lock or %eax, (%ebx) 24 lock or $0x64, (%ebx) 25 lock sbb %eax, (%ebx) 26 lock sbb $0x64, (%ebx) 27 lock sub %eax, (%ebx) 28 lock sub $0x64, (%ebx) 29 lock xadd %eax, (%ebx) 30 lock xchg (%ebx), %eax 31 lock xchg %eax, (%ebx) 32 lock xor %eax, (%ebx) 33 lock xor $0x64, (%ebx) 34 35 .intel_syntax noprefix 36 lock add DWORD PTR [ebx],eax 37 lock add DWORD PTR [ebx],0x64 38 lock adc DWORD PTR [ebx],eax 39 lock adc DWORD PTR [ebx],0x64 40 lock and DWORD PTR [ebx],eax 41 lock and DWORD PTR [ebx],0x64 42 lock btc DWORD PTR [ebx],eax 43 lock btc DWORD PTR [ebx],0x64 44 lock btr DWORD PTR [ebx],eax 45 lock btr DWORD PTR [ebx],0x64 46 lock bts DWORD PTR [ebx],eax 47 lock bts DWORD PTR [ebx],0x64 48 lock cmpxchg DWORD PTR [ebx],eax 49 lock cmpxchg8b QWORD PTR [ebx] 50 lock dec DWORD PTR [ebx] 51 lock inc DWORD PTR [ebx] 52 lock neg DWORD PTR [ebx] 53 lock not DWORD PTR [ebx] 54 lock or DWORD PTR [ebx],eax 55 lock or DWORD PTR [ebx],0x64 56 lock sbb DWORD PTR [ebx],eax 57 lock sbb DWORD PTR [ebx],0x64 58 lock sub DWORD PTR [ebx],eax 59 lock sub DWORD PTR [ebx],0x64 60 lock xadd DWORD PTR [ebx],eax 61 lock xchg DWORD PTR [ebx],eax 62 lock xchg DWORD PTR [ebx],eax 63 lock xor DWORD PTR [ebx],eax 64 lock xor DWORD PTR [ebx],0x64 65