1631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;------------------------------------------------------------------------------
2631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
3adc29a976af83459fc06c6d4ec567246ed4ff29ahhtian; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
4adc29a976af83459fc06c6d4ec567246ed4ff29ahhtian; This program and the accompanying materials
5631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; are licensed and made available under the terms and conditions of the BSD License
6631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; which accompanies this distribution.  The full text of the license may be found at
72fc59a003ed9104f9feebe0e418f2a04a50f3284myronporter; http://opensource.org/licenses/bsd-license.php.
8631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
9631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
12631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; Module Name:
13631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
14631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;   CompareMem.Asm
15631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
16631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; Abstract:
17631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
18631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;   CompareMem function
19631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
20631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; Notes:
21631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
222bfb60098f608dc32ff5d22b0fd087c1636b0881lgao;   The following BaseMemoryLib instances contain the same copy of this file:
23631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
24631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;       BaseMemoryLibRepStr
25631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;       BaseMemoryLibMmx
26631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;       BaseMemoryLibSse2
272bfb60098f608dc32ff5d22b0fd087c1636b0881lgao;       BaseMemoryLibOptDxe
282bfb60098f608dc32ff5d22b0fd087c1636b0881lgao;       BaseMemoryLibOptPei
29631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;
30631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;------------------------------------------------------------------------------
31631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney
32631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    .686
33631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    .model  flat,C
34631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    .code
35631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney
36631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;------------------------------------------------------------------------------
37631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; INTN
38631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; EFIAPI
39631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney; InternalMemCompareMem (
40631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;   IN      CONST VOID                *DestinationBuffer,
41631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;   IN      CONST VOID                *SourceBuffer,
42631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;   IN      UINTN                     Length
43631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;   );
44631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney;------------------------------------------------------------------------------
45631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinneyInternalMemCompareMem   PROC    USES    esi edi
46631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    mov     esi, [esp + 12]
47631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    mov     edi, [esp + 16]
48631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    mov     ecx, [esp + 20]
49631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    repe    cmpsb
50631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    movzx   eax, byte ptr [esi - 1]
51631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    movzx   edx, byte ptr [edi - 1]
52631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    sub     eax, edx
53631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    ret
54631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinneyInternalMemCompareMem   ENDP
55631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney
56631f060bb7fb457ff8720a690f4bdd378328cb2dmdkinney    END
57