decrement.c

来自「winNT技术操作系统,国外开放的原代码和LIUX一样」· C语言 代码 · 共 39 行

C
39
字号
/*
 * PROJECT:     ReactOS system libraries
 * LICENSE:     GPL - See COPYING in the top level directory
 * FILE:        lib/intrlck/i386/decrement.c
 * PURPOSE:     Inter lock decrements
 * PROGRAMMERS: Copyright 1995 Martin von Loewis
 *              Copyright 1997 Onno Hovers
 */

/************************************************************************
*           InterlockedDecrement                                        *
*                                                                       *
* InterlockedDecrement adds -1 to a long variable and returns           *
* the resulting decremented value.                                      *
*                                                                       *
************************************************************************/

/*
 * LONG NTAPI InterlockedDecrement(LPLONG lpAddend)
 */

#include <windows.h>
LONG
NTAPI
InterlockedDecrement(LPLONG lpAddend)
{
	LONG ret;
	__asm__
	(
		"\tlock\n"  /* for SMP systems */
		"\txaddl %0, (%1)\n"
		"\tdecl %0\n"
		:"=r" (ret)
		:"r" (lpAddend), "0" (-1)
		: "memory"
	);
	return ret;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?