]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseMemoryLibRepStr/Ia32/CopyMem.asm
Removed CommonHeader.h generated file from the MdePkg.
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibRepStr / Ia32 / CopyMem.asm
index 7b3e5eafee5c95b1c83b3a06d096411eaa2a90fc..8b4366e976baea764c8b9e728cfeab991b09b28c 100644 (file)
@@ -1,3 +1,8 @@
+//\r
+// Include common header file for this module.\r
+//\r
+\r
+\r
 ;------------------------------------------------------------------------------\r
 ;\r
 ; Copyright (c) 2006, Intel Corporation\r
     .model  flat,C\r
     .code\r
 \r
+;------------------------------------------------------------------------------\r
+;  VOID *\r
+;  InternalMemCopyMem (\r
+;    IN VOID   *Destination,\r
+;    IN VOID   *Source,\r
+;    IN UINTN  Count\r
+;    )\r
+;------------------------------------------------------------------------------\r
 InternalMemCopyMem  PROC    USES    esi edi\r
     mov     esi, [esp + 16]             ; esi <- Source\r
     mov     edi, [esp + 12]             ; edi <- Destination\r
     mov     edx, [esp + 20]             ; edx <- Count\r
-    lea     eax, [edi + edx - 1]        ; eax <- End of Destination\r
+    lea     eax, [esi + edx - 1]        ; eax <- End of Source\r
     cmp     esi, edi\r
     jae     @F\r
-    cmp     eax, esi\r
+    cmp     eax, edi\r
     jae     @CopyBackward               ; Copy backward if overlapped\r
 @@:\r
     mov     ecx, edx\r
@@ -41,8 +54,8 @@ InternalMemCopyMem  PROC    USES    esi edi
     rep     movsd                       ; Copy as many Dwords as possible\r
     jmp     @CopyBytes\r
 @CopyBackward:\r
-    mov     edi, eax                    ; edi <- End of Destination\r
-    lea     esi, [esi + edx - 1]        ; esi <- End of Source\r
+    mov     esi, eax                    ; esi <- End of Source\r
+    lea     edi, [edi + edx - 1]        ; edi <- End of Destination\r
     std\r
 @CopyBytes:\r
     mov     ecx, edx\r