| title os2ilck.asm |
| .486 |
| |
| CODE32 segment dword use32 public 'CODE' |
| CODE32 ends |
| DATA32 segment dword use32 public 'DATA' |
| DATA32 ends |
| DGROUP group DATA32 |
| assume cs:FLAT, ds:FLAT, ss:FLAT, es:FLAT |
| CODE32 segment |
| align 04h |
| os2InterlockedCompareExchange proc |
| mov ecx, [esp+4] |
| mov edx, [esp+8] |
| mov eax, [esp+12] |
| lock cmpxchg [ecx], edx |
| ret |
| os2InterlockedCompareExchange endp |
| align 04h |
| os2InterlockedIncrement proc |
| mov eax,[esp+4] |
| lock inc dword ptr[eax] |
| ret |
| os2InterlockedIncrement endp |
| align 04h |
| os2InterlockedDecrement proc |
| mov eax,[esp+4] |
| lock dec dword ptr[eax] |
| ret |
| os2InterlockedDecrement endp |
| |
| public os2InterlockedCompareExchange |
| public os2InterlockedIncrement |
| public os2InterlockedDecrement |
| CODE32 ends |
| end |
| |