.code32 .section .text, "ax" .align 4 .globl atomic_add atomic_add: push %ebp movl %esp,%ebp movl 12(%ebp), %ecx movl 8(%ebp), %edx movl 12(%ebp), %eax lock addl %edx,(%ecx) popl %ebp ret .size atomic_add, .-atomic_add .type atomic_add, @function .align 4 .globl atomic_sub atomic_sub: pushl %ebp movl %esp, %ebp movl 12(%ebp), %ecx movl 8(%ebp), %edx movl 12(%ebp), %eax lock subl %edx,(%ecx) popl %ebp ret .size atomic_sub, .-atomic_sub .type atomic_sub, @function .align 4 .globl atomic_inc atomic_inc: pushl %ebp movl %esp, %ebp movl 8(%ebp), %edx movl 8(%ebp), %eax lock incl (%edx) popl %ebp ret .size atomic_inc, .-atomic_inc .type atomic_inc, @function .align 4 .globl atomic_dec atomic_dec: pushl %ebp movl %esp, %ebp movl 8(%ebp), %edx movl 8(%ebp), %eax lock decl (%edx) popl %ebp ret .size atomic_dec, .-atomic_dec .type atomic_dec, @function