]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/Power10U64.S
Sync all bug fixes between EDK1.04 and EDK1.06 into EdkCompatibilityPkg.
[mirror_edk2.git] / EdkCompatibilityPkg / Foundation / Library / EfiCommonLib / Ia32 / Power10U64.S
index 9d4bd3bee1620baf40a10fac89e975f71751b91e..a40c56bcb1b15d33dff5586af3f4b140b42b6f83 100644 (file)
@@ -1,82 +1,84 @@
-#/*++
-#
-#Copyright (c) 2006, Intel Corporation                                                         
-#All rights reserved. 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:
-#
-#  Power10U64.c
-#
-#Abstract:
-#
-#  Calculates Operand * 10 ^ Power
-#
-#--*/
-#
-##include "Tiano.h"
-#include "EfiBind.h"
-#---------------------------------------------------------------------------
-    .686: 
-    #.MODEL flat,C
-    .code: 
-
-.globl ASM_PFX(DivU64x32)
-#---------------------------------------------------------------------------
-#
-#UINT64
-#MultU64x32 (
-#  IN UINT64   Multiplicand,
-#  IN UINTN    Multiplier
-#  );
-#
-#UINT64
-#Power10U64 (
-#  IN UINT64   Operand,
-#  IN UINTN    Power
-#  )
-#/*++
-#
-#Routine Description:
-#
-#  Raise 10 to the power of Power, and multiply the result with Operand
-#
-#Arguments:
-#
-#  Operand  - multiplicand
-#  Power    - power
-#
-#Returns:
-#
-#  Operand * 10 ^ Power
-#
-#--*/
-ASM_PFX(Power10U64):
-  pushl  %ebp
-  movl   %esp, %ebp
-  movl   8(%ebp), %eax           # dword ptr Operand[0]
-  movl   0xC(%ebp), %edx           # dword ptr Operand[4]
-  movl   0x10(%ebp), %ecx           #Power
-  jcxz   _Power10U64_Done
-
-_Power10U64_Wend: 
-  pushl  $10
-  push   0xC(%ebp)
-  push   0x8(%ebp)
-  call   ASM_PFX(MultU64x32)
-  addl   $0xc, %esp
-  movl   %eax, 8(%ebp)  # dword ptr Operand[0]
-  movl   %edx, 0xC(%ebp)  # dword ptr Operand[4]
-  loopl  _Power10U64_Wend
-
-_Power10U64_Done: 
-
-  popl   %ebp
-  ret
-#Power10U64 ENDP
-
+#/*++\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
+#  Power10U64.c\r
+#\r
+#Abstract:\r
+#\r
+#  Calculates Operand * 10 ^ Power\r
+#\r
+#--*/\r
+#\r
+##include "Tiano.h"\r
+#include "EfiBind.h"\r
+#---------------------------------------------------------------------------\r
+    .686: \r
+    #.MODEL flat,C\r
+    .code: \r
+\r
+.globl ASM_PFX(DivU64x32)\r
+#---------------------------------------------------------------------------\r
+#\r
+#UINT64\r
+#MultU64x32 (\r
+#  IN UINT64   Multiplicand,\r
+#  IN UINTN    Multiplier\r
+#  );\r
+#\r
+#UINT64\r
+#Power10U64 (\r
+#  IN UINT64   Operand,\r
+#  IN UINTN    Power\r
+#  )\r
+#/*++\r
+#\r
+#Routine Description:\r
+#\r
+#  Raise 10 to the power of Power, and multiply the result with Operand\r
+#\r
+#Arguments:\r
+#\r
+#  Operand  - multiplicand\r
+#  Power    - power\r
+#\r
+#Returns:\r
+#\r
+#  Operand * 10 ^ Power\r
+#\r
+#--*/\r
+ASM_PFX(Power10U64):\r
+  pushl  %ebp\r
+  movl   %esp, %ebp\r
+  movl   8(%ebp), %eax           # dword ptr Operand[0]\r
+  movl   0xC(%ebp), %edx           # dword ptr Operand[4]\r
+  movl   0x10(%ebp), %ecx           #Power\r
+  jcxz   _Power10U64_Done\r
+\r
+_Power10U64_Wend: \r
+  pushl  %ecx\r
+  pushl  $10\r
+  push   0xC(%ebp)\r
+  push   0x8(%ebp)\r
+  call   ASM_PFX(MultU64x32)\r
+  addl   $0xc, %esp\r
+  popl   %ecx\r
+  movl   %eax, 8(%ebp)  # dword ptr Operand[0]\r
+  movl   %edx, 0xC(%ebp)  # dword ptr Operand[4]\r
+  loopl  _Power10U64_Wend\r
+\r
+_Power10U64_Done: \r
+\r
+  popl   %ebp\r
+  ret\r
+#Power10U64 ENDP\r
+\r