diff options
Diffstat (limited to 'MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S')
-rw-r--r-- | MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S index 49e9e07cf7..6bbb18a334 100644 --- a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S +++ b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S @@ -27,27 +27,33 @@ # #------------------------------------------------------------------------------ - .686: - .code: - .global _InternalMemScanMem64 + +#------------------------------------------------------------------------------ +# CONST VOID * +# EFIAPI +# InternalMemScanMem64 ( +# IN CONST VOID *Buffer, +# IN UINTN Length, +# IN UINT64 Value +# ); +#------------------------------------------------------------------------------ _InternalMemScanMem64: push %edi - movl 12(%esp),%ecx - movl 16(%esp),%eax - movl 20(%esp),%edx - movl 8(%esp),%edi + movl 12(%esp), %ecx + movl 16(%esp), %eax + movl 20(%esp), %edx + movl 8(%esp), %edi L0: - cmpl (%edi),%eax - leal 8(%edi),%edi + cmpl (%edi), %eax + leal 8(%edi), %edi loopne L0 jne L1 - cmpl -4(%edi),%edx + cmpl -4(%edi), %edx jecxz L1 jne L0 L1: - leal -8(%edi),%eax + leal -8(%edi), %eax cmovne %ecx, %eax pop %edi ret - |