VirtualBox

source: vbox/trunk/src/VBox/Runtime/win/amd64/ASMAtomicBitTestAndToggle.asm@ 5423

Last change on this file since 5423 was 4071, checked in by vboxsync, 17 years ago

Biggest check-in ever. New source code headers for all (C) innotek files.

File size: 1.3 KB
Line 
1;; @file
2; innotek Portable Runtime - ASMAtomicBitTestAndToggle().
3;
4
5;
6; Copyright (C) 2006-2007 innotek GmbH
7;
8; This file is part of VirtualBox Open Source Edition (OSE), as
9; available from http://www.virtualbox.org. This file is free software;
10; you can redistribute it and/or modify it under the terms of the GNU
11; General Public License as published by the Free Software Foundation,
12; in version 2 as it comes in the "COPYING" file of the VirtualBox OSE
13; distribution. VirtualBox OSE is distributed in the hope that it will
14; be useful, but WITHOUT ANY WARRANTY of any kind.
15
16
17;*******************************************************************************
18;* Header Files *
19;*******************************************************************************
20%include "iprt/asmdefs.mac"
21
22BEGINCODE
23
24;;
25; Atomically tests and toggles a bit in a bitmap.
26;
27; @returns al(rax) true if the bit was set.
28; @returns al(rax) false if the bit was clear.
29; @param rcx pvBitmap Pointer to the bitmap.
30; @param edx iBit The bit to test and toggle.
31BEGINPROC_EXPORTED ASMAtomicBitTestAndToggle
32 lock btc [rcx], edx
33 sbb eax, eax
34 ret
35ENDPROC ASMAtomicBitTestAndToggle
36
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette