MdePkg BaseSynchronizationLib: Convert X64/InterlockedCompareExchange16.asm to NASM
The BaseTools/Scripts/ConvertMasmToNasm.py script was used to convert X64/InterlockedCompareExchange16.asm to X64/InterlockedCompareExchange16.nasm Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
This commit is contained in:
		
				
					committed by
					
						
						Liming Gao
					
				
			
			
				
	
			
			
			
						parent
						
							ad00b0f290
						
					
				
				
					commit
					a04618e68e
				
			@@ -64,6 +64,7 @@
 | 
				
			|||||||
  X64/InterlockedCompareExchange64.asm | INTEL
 | 
					  X64/InterlockedCompareExchange64.asm | INTEL
 | 
				
			||||||
  X64/InterlockedCompareExchange32.nasm| INTEL
 | 
					  X64/InterlockedCompareExchange32.nasm| INTEL
 | 
				
			||||||
  X64/InterlockedCompareExchange32.asm | INTEL
 | 
					  X64/InterlockedCompareExchange32.asm | INTEL
 | 
				
			||||||
 | 
					  X64/InterlockedCompareExchange16.nasm| INTEL
 | 
				
			||||||
  X64/InterlockedCompareExchange16.asm | INTEL
 | 
					  X64/InterlockedCompareExchange16.asm | INTEL
 | 
				
			||||||
  
 | 
					  
 | 
				
			||||||
  X64/InterlockedDecrement.c | MSFT 
 | 
					  X64/InterlockedDecrement.c | MSFT 
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,42 @@
 | 
				
			|||||||
 | 
					;------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
 | 
				
			||||||
 | 
					; Copyright (c) 2015, Linaro Ltd. All rights reserved.<BR>
 | 
				
			||||||
 | 
					; This program and the accompanying materials
 | 
				
			||||||
 | 
					; are licensed and made available under the terms and conditions of the BSD License
 | 
				
			||||||
 | 
					; which accompanies this distribution.  The full text of the license may be found at
 | 
				
			||||||
 | 
					; http://opensource.org/licenses/bsd-license.php.
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
 | 
				
			||||||
 | 
					; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; Module Name:
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					;   InterlockedCompareExchange16.Asm
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; Abstract:
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					;   InterlockedCompareExchange16 function
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					; Notes:
 | 
				
			||||||
 | 
					;
 | 
				
			||||||
 | 
					;------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    DEFAULT REL
 | 
				
			||||||
 | 
					    SECTION .text
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					;------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					; UINT16
 | 
				
			||||||
 | 
					; EFIAPI
 | 
				
			||||||
 | 
					; InterlockedCompareExchange16 (
 | 
				
			||||||
 | 
					;   IN      UINT16                    *Value,
 | 
				
			||||||
 | 
					;   IN      UINT16                    CompareValue,
 | 
				
			||||||
 | 
					;   IN      UINT16                    ExchangeValue
 | 
				
			||||||
 | 
					;   );
 | 
				
			||||||
 | 
					;------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					global ASM_PFX(InternalSyncCompareExchange16)
 | 
				
			||||||
 | 
					ASM_PFX(InternalSyncCompareExchange16):
 | 
				
			||||||
 | 
					    mov     ax, dx
 | 
				
			||||||
 | 
					    lock    cmpxchg [rcx], r8w
 | 
				
			||||||
 | 
					    ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user