3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
18 64-bit Multiplication function for IA-32
26 IN UINT64 Multiplicand
,
33 This routine allows a 64 bit value to be multiplied with a 32 bit
34 value returns 64bit result.
35 No checking if the result is greater than 64bits
39 Multiplicand - multiplicand
40 Multiplier - multiplier
44 Multiplicand * Multiplier
49 mov eax
, dword ptr Multiplicand
[0]
53 mov eax
, dword ptr Multiplicand
[4]
56 ; The value in edx stored by second multiplication overflows
57 ; the output
and should be discarded
. So here we overwrite it
58 ; with the edx value of first multiplication
.