📄 exchangeadd.c
字号:
/*
* PROJECT: ReactOS system libraries
* LICENSE: GPL - See COPYING in the top level directory
* FILE: lib/intrlck/i386/exchangeadd.c
* PURPOSE: Inter lock exchange adds
* PROGRAMMERS: Copyright 1995 Martin von Loewis
* Copyright 1997 Onno Hovers
*/
/************************************************************************
* InterlockedExchangeAdd
*
* Atomically adds Increment to Addend and returns the previous value of
* Addend
*
* RETURNS
* Prior value of value pointed to by Addend
*/
/*
* LONG NTAPI InterlockedExchangeAdd(PLONG Addend, LONG Increment)
*/
#include <windows.h>
LONG
NTAPI
InterlockedExchangeAdd(
PLONG Addend,
LONG Increment)
{
LONG ret;
__asm__ (
/* lock for SMP systems */
"lock\n\t"
"xaddl %0,(%1)"
:"=r" (ret)
:"r" (Addend), "0" (Increment)
:"memory" );
return ret;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -