VirtualBox

source: vbox/trunk/src/VBox/Runtime/win64/ASMAtomicBitTestAndToggle.asm@ 490

Last change on this file since 490 was 1, checked in by vboxsync, 55 years ago

import

File size: 1.5 KB
Line 
1;; @file
2; InnoTek Portable Runtime - ASMAtomicBitTestAndToggle().
3;
4
5;
6; Copyright (C) 2006 InnoTek Systemberatung 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; If you received this file as part of a commercial VirtualBox
17; distribution, then only the terms of your commercial VirtualBox
18; license agreement apply instead of the previous paragraph.
19;
20
21
22;*******************************************************************************
23;* Header Files *
24;*******************************************************************************
25%include "iprt/asmdefs.mac"
26
27BEGINCODE
28
29;;
30; Atomically tests and toggles a bit in a bitmap.
31;
32; @returns al(rax) true if the bit was set.
33; @returns al(rax) false if the bit was clear.
34; @param rcx pvBitmap Pointer to the bitmap.
35; @param edx iBit The bit to test and toggle.
36BEGINPROC_EXPORTED ASMAtomicBitTestAndToggle
37 lock btc [rcx], edx
38 sbb eax, eax
39 ret
40ENDPROC ASMAtomicBitTestAndToggle
41
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