summaryrefslogtreecommitdiff
path: root/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S')
-rw-r--r--MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem64.S30
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
-