The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert
Ia32/InterlockedCompareExchange16.asm to Ia32/InterlockedCompareExchange16.nasm
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Anthony PERARD <anthony.perard@citrix.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16315
6f19259b-4bc3-4df7-8a09-
765794883524
+++ /dev/null
-# UINT16\r
-# EFIAPI\r
-# InternalSyncCompareExchange16 (\r
-# IN volatile UINT16 *Value,\r
-# IN UINT16 CompareValue,\r
-# IN UINT16 ExchangeValue\r
-# );\r
-ASM_GLOBAL ASM_PFX(InternalSyncCompareExchange16)\r
-ASM_PFX(InternalSyncCompareExchange16):\r
- mov 4(%esp), %ecx\r
- mov 8(%esp), %eax\r
- mov 12(%esp), %edx\r
- lock\r
- cmpxchgw %dx, (%ecx)\r
- ret\r
+++ /dev/null
-;------------------------------------------------------------------------------\r
-;\r
-; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
-; This program and the accompanying materials\r
-; are licensed and made available under the terms and conditions of the BSD License\r
-; which accompanies this distribution. The full text of the license may be found at\r
-; http://opensource.org/licenses/bsd-license.php.\r
-;\r
-; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
-;\r
-; Module Name:\r
-;\r
-; InterlockedCompareExchange16.Asm\r
-;\r
-; Abstract:\r
-;\r
-; InterlockedCompareExchange16 function\r
-;\r
-; Notes:\r
-;\r
-;------------------------------------------------------------------------------\r
-\r
- .486\r
- .model flat,C\r
- .code\r
-\r
-;------------------------------------------------------------------------------\r
-; UINT32\r
-; EFIAPI\r
-; InternalSyncCompareExchange16 (\r
-; IN UINT16 *Value,\r
-; IN UINT16 CompareValue,\r
-; IN UINT16 ExchangeValue\r
-; );\r
-;------------------------------------------------------------------------------\r
-InternalSyncCompareExchange16 PROC\r
- mov ecx, [esp + 4]\r
- mov eax, [esp + 8]\r
- mov edx, [esp + 12]\r
- lock cmpxchg [ecx], dx\r
- ret\r
-InternalSyncCompareExchange16 ENDP\r
-\r
- END\r
--- /dev/null
+;------------------------------------------------------------------------------\r
+;\r
+; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
+; This program and the accompanying materials\r
+; are licensed and made available under the terms and conditions of the BSD License\r
+; which accompanies this distribution. The full text of the license may be found at\r
+; http://opensource.org/licenses/bsd-license.php.\r
+;\r
+; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+;\r
+; Module Name:\r
+;\r
+; InterlockedCompareExchange16.Asm\r
+;\r
+; Abstract:\r
+;\r
+; InterlockedCompareExchange16 function\r
+;\r
+; Notes:\r
+;\r
+;------------------------------------------------------------------------------\r
+\r
+ SECTION .text\r
+\r
+;------------------------------------------------------------------------------\r
+; UINT32\r
+; EFIAPI\r
+; InternalSyncCompareExchange16 (\r
+; IN UINT16 *Value,\r
+; IN UINT16 CompareValue,\r
+; IN UINT16 ExchangeValue\r
+; );\r
+;------------------------------------------------------------------------------\r
+global ASM_PFX(InternalSyncCompareExchange16)\r
+ASM_PFX(InternalSyncCompareExchange16):\r
+ mov ecx, [esp + 4]\r
+ mov eax, [esp + 8]\r
+ mov edx, [esp + 12]\r
+ lock cmpxchg [ecx], dx\r
+ ret\r
+\r
\r
[Sources.IA32]\r
Ia32/hypercall.nasm\r
- Ia32/InterlockedCompareExchange16.S\r
- Ia32/InterlockedCompareExchange16.asm\r
+ Ia32/InterlockedCompareExchange16.nasm\r
Ia32/TestAndClearBit.S\r
Ia32/TestAndClearBit.asm\r
\r