2 64-bit Math Worker Function.
3 The 32-bit versions of C compiler generate calls to library routines
4 to handle 64-bit math. These functions use non-standard calling conventions.
6 Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
7 This program and the accompanying materials
8 are licensed and made available under the terms and conditions of the BSD License
9 which accompanies this distribution. The full text of the license may be found at
10 http://opensource.org/licenses/bsd-license.php
12 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
13 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17 #include <Library/BaseLib.h>
20 * Multiplies a 64-bit signed or unsigned value by a 64-bit signed or unsigned value
21 * and returns a 64-bit result.
23 __declspec(naked
) void __cdecl
_allmul (void)
26 // Wrapper Implementation over EDKII MultS64x64() routine
30 // IN INT64 Multiplicand,
31 // IN INT64 Multiplier
35 ; Original local stack when calling _allmul
48 ; ESP
---->|---------------|
52 ; Set up the local stack
for Multiplicand parameter
60 ; Set up the local stack
for Multiplier parameter
68 ; Call native MulS64x64 of BaseLib