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