# Base Memory Library that uses REP string instructions for\r
# high performance and small size. Optimized for use in PEI.\r
#\r
-# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>\r
#\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
MODULE_UNI_FILE = BaseMemoryLibRepStr.uni\r
FILE_GUID = e7884bf4-51a1-485b-982a-ff89129983bc\r
MODULE_TYPE = BASE\r
- VERSION_STRING = 1.0\r
+ VERSION_STRING = 1.1\r
LIBRARY_CLASS = BaseMemoryLib \r
\r
\r
#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
movl 16(%esp), %eax\r
repne scasw\r
leal -2(%edi), %eax\r
- cmovnz %ecx, %eax\r
+ jz L0\r
+ movl %ecx, %eax\r
+L0: \r
pop %edi\r
ret\r
;------------------------------------------------------------------------------\r
;\r
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
; This program and the accompanying materials\r
; are licensed and made available under the terms and conditions of the BSD License\r
; which accompanies this distribution. The full text of the license may be found at\r
mov eax, [esp + 16]\r
repne scasw\r
lea eax, [edi - 2]\r
- cmovnz eax, ecx\r
+ jz @F\r
+ mov eax, ecx\r
+@@: \r
ret\r
InternalMemScanMem16 ENDP\r
\r
#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
movl 16(%esp), %eax\r
repne scasl\r
leal -4(%edi), %eax\r
- cmovnz %ecx, %eax\r
+ jz L0\r
+ movl %ecx, %eax\r
+L0: \r
pop %edi\r
ret\r
;------------------------------------------------------------------------------\r
;\r
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
; This program and the accompanying materials\r
; are licensed and made available under the terms and conditions of the BSD License\r
; which accompanies this distribution. The full text of the license may be found at\r
mov eax, [esp + 16]\r
repne scasd\r
lea eax, [edi - 4]\r
- cmovnz eax, ecx\r
+ jz @F\r
+ mov eax, ecx\r
+@@: \r
ret\r
InternalMemScanMem32 ENDP\r
\r
#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
jne L0\r
L1:\r
leal -8(%edi), %eax\r
- cmovne %ecx, %eax\r
+ jz L2\r
+ movl %ecx, %eax\r
+L2: \r
pop %edi\r
ret\r
;------------------------------------------------------------------------------\r
;\r
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
; This program and the accompanying materials\r
; are licensed and made available under the terms and conditions of the BSD License\r
; which accompanies this distribution. The full text of the license may be found at\r
jne @B\r
@@:\r
lea eax, [edi - 8]\r
- cmovne eax, ecx\r
+ jz @F\r
+ mov eax, ecx\r
+@@: \r
ret\r
InternalMemScanMem64 ENDP\r
\r
#------------------------------------------------------------------------------\r
#\r
-# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
# This program and the accompanying materials\r
# are licensed and made available under the terms and conditions of the BSD License\r
# which accompanies this distribution. The full text of the license may be found at\r
movb 16(%esp), %al\r
repne scasb\r
leal -1(%edi), %eax\r
- cmovnz %ecx, %eax\r
+ jz L0\r
+ movl %ecx, %eax\r
+L0: \r
pop %edi\r
ret\r
;------------------------------------------------------------------------------\r
;\r
-; Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+; Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>\r
; This program and the accompanying materials\r
; are licensed and made available under the terms and conditions of the BSD License\r
; which accompanies this distribution. The full text of the license may be found at\r
mov al, [esp + 16]\r
repne scasb\r
lea eax, [edi - 1]\r
- cmovnz eax, ecx\r
+ jz @F\r
+ mov eax, ecx\r
+@@: \r
ret\r
InternalMemScanMem8 ENDP\r
\r