summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseLib/Ia32/MultU64x64.S
diff options
context:
space:
mode:
authorvanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-28 09:51:44 +0000
committervanjeff <vanjeff@6f19259b-4bc3-4df7-8a09-765794883524>2008-10-28 09:51:44 +0000
commit57246fe073e7946e03387576fca76eba86b51694 (patch)
tree00f1ec8aabce2506deec539217de37feb885cd31 /MdePkg/Library/BaseLib/Ia32/MultU64x64.S
parent85ea851e6a3df3f5021e9e038d6b4162c66b394c (diff)
downloadedk2-platforms-57246fe073e7946e03387576fca76eba86b51694.tar.xz
sync comments.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6274 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdePkg/Library/BaseLib/Ia32/MultU64x64.S')
-rw-r--r--MdePkg/Library/BaseLib/Ia32/MultU64x64.S20
1 files changed, 10 insertions, 10 deletions
diff --git a/MdePkg/Library/BaseLib/Ia32/MultU64x64.S b/MdePkg/Library/BaseLib/Ia32/MultU64x64.S
index 0aae90c6cc..8dbae8b1a9 100644
--- a/MdePkg/Library/BaseLib/Ia32/MultU64x64.S
+++ b/MdePkg/Library/BaseLib/Ia32/MultU64x64.S
@@ -30,15 +30,15 @@
# );
#------------------------------------------------------------------------------
ASM_PFX(InternalMathMultU64x64):
- push %ebx
- movl 8(%esp), %ebx
- movl 16(%esp), %edx
- movl %ebx, %ecx
- movl %edx, %eax
- imull 20(%esp), %ebx
- imull 12(%esp), %edx
- addl %edx, %ebx
- mull %ecx
- addl %ebx, %edx
+ push %ebx
+ movl 8(%esp), %ebx # ebx <- M1[0..31]
+ movl 16(%esp), %edx # edx <- M2[0..31]
+ movl %ebx, %ecx
+ movl %edx, %eax
+ imull 20(%esp), %ebx # ebx <- M1[0..31] * M2[32..63]
+ imull 12(%esp), %edx # edx <- M1[32..63] * M2[0..31]
+ addl %edx, %ebx # carries are abandoned
+ mull %ecx # edx:eax <- M1[0..31] * M2[0..31]
+ addl %ebx, %edx # carries are abandoned
pop %ebx
ret