Go to the source code of this file.
◆ AO_HAVE_char_fetch_and_add_full
| #define AO_HAVE_char_fetch_and_add_full |
◆ AO_HAVE_short_fetch_and_add_full
| #define AO_HAVE_short_fetch_and_add_full |
◆ AO_HAVE_test_and_set_full
| #define AO_HAVE_test_and_set_full |
◆ AO_T_IS_INT
◆ AO_USE_INTERLOCKED_INTRINSICS
| #define AO_USE_INTERLOCKED_INTRINSICS |
◆ AO_char_fetch_and_add_full()
| AO_INLINE unsigned char AO_char_fetch_and_add_full |
( |
volatile unsigned char * |
p, |
|
|
unsigned char |
incr |
|
) |
| |
Definition at line 77 of file msftc/x86.h.
78 {
79 __asm
80 {
81 mov al, incr
82 mov ebx, p
83 lock xadd
byte ptr [ebx], al
84 }
85
86 }
◆ AO_short_fetch_and_add_full()
| AO_INLINE unsigned short AO_short_fetch_and_add_full |
( |
volatile unsigned short * |
p, |
|
|
unsigned short |
incr |
|
) |
| |
Definition at line 90 of file msftc/x86.h.
91 {
92 __asm
93 {
94 mov ax, incr
95 mov ebx, p
96 lock xadd word ptr [ebx], ax
97 }
98
99 }
◆ AO_test_and_set_full()
Definition at line 107 of file msftc/x86.h.
108 {
109 __asm
110 {
111 mov eax,0xff ;
112 mov ebx,addr ;
113 xchg byte ptr [ebx],al ;
114 }
115
116 }