From: rsun3 Date: Mon, 9 Oct 2006 10:09:26 +0000 (+0000) Subject: Fix a bug in InternalMathDivRemU64x64(). The bug is that the 64-bit divisor is design... X-Git-Tag: edk2-stable201903~24181 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=2f8df870031e1aee978635bb5cfa2f5a23f9b3f5;ds=sidebyside Fix a bug in InternalMathDivRemU64x64(). The bug is that the 64-bit divisor is designed to be loaded to ecx:ebx but the high 4 byte of the divisor is forgotten to be loaded to ecx git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1693 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.c b/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.c index 62034f7b84..2a893147c7 100644 --- a/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.c +++ b/MdePkg/Library/BaseLib/Ia32/DivU64x64Remainder.c @@ -28,6 +28,7 @@ InternalMathDivRemU64x64 ( mov eax, dword ptr [Dividend + 0] // edx:eax <- dividend mov edi, edx mov esi, eax // edi:esi <- dividend + mov ecx, dword ptr [Divisor + 4] mov ebx, dword ptr [Divisor + 0] // ecx:ebx <- divisor BitLoop: shr edx, 1