summaryrefslogtreecommitdiff
path: root/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/MultU64x32.asm
diff options
context:
space:
mode:
Diffstat (limited to 'EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/MultU64x32.asm')
-rw-r--r--EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/MultU64x32.asm70
1 files changed, 0 insertions, 70 deletions
diff --git a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/MultU64x32.asm b/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/MultU64x32.asm
deleted file mode 100644
index abb2b6c2e3..0000000000
--- a/EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/Ia32/MultU64x32.asm
+++ /dev/null
@@ -1,70 +0,0 @@
-;/*++
-;
-;Copyright (c) 2006, Intel Corporation. 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:
-;
-; MultU64x32.c
-;
-;Abstract:
-;
-; 64-bit Multiplication function for IA-32
-;
-;--*/
-;---------------------------------------------------------------------------
- .686
- .model flat,C
- .code
-
-;---------------------------------------------------------------------------
-
-;UINT64
-;MultU64x32 (
-; IN UINT64 Multiplicand,
-; IN UINTN Multiplier
-; )
-;/*++
-;
-;Routine Description:
-;
-; This routine allows a 64 bit value to be multiplied with a 32 bit
-; value returns 64bit result.
-; No checking if the result is greater than 64bits
-;
-;Arguments:
-;
-; Multiplicand - multiplicand
-; Multiplier - multiplier
-;
-;Returns:
-;
-; Multiplicand * Multiplier
-;
-;--*/
-MultU64x32 PROC
-
- mov eax, [esp + 4]; dword ptr Multiplicand[0]
- mul dword ptr [esp + 0Ch] ; Multiplier
- push eax
- push edx
- mov eax, [esp + 10h]; dword ptr Multiplicand[4]
- mul dword ptr [esp + 14h]; Multiplier
- ;
- ; The value in edx stored by second multiplication overflows
- ; the output and should be discarded. So here we overwrite it
- ; with the edx value of first multiplication.
- ;
- pop edx
- add edx, eax
- pop eax
-
- ret
-MultU64x32 ENDP
- END