DECLARE(_OSAtomicTestAndSet)
movl 4(%esp), %eax
movl 8(%esp), %edx
+ movl %eax, %ecx
+ andl $-8, %ecx
+ notl %eax
+ andl $7, %eax
+ orl %ecx, %eax
call *_COMM_PAGE_BTS
setc %al
ret
DECLARE(_OSAtomicTestAndClear)
movl 4(%esp), %eax
movl 8(%esp), %edx
+ movl %eax, %ecx
+ andl $-8, %ecx
+ notl %eax
+ andl $7, %eax
+ orl %ecx, %eax
call *_COMM_PAGE_BTC
setc %al
ret