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