X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseMemoryLibRepStr%2FIa32%2FScanMem16.s;fp=MdePkg%2FLibrary%2FBaseMemoryLibRepStr%2FIa32%2FScanMem16.s;h=33101c12eef6a2fe0189ce8da80249d17cccc5da;hp=0000000000000000000000000000000000000000;hb=b6bd81d45f85be8e74abb5b0a4c0e1dfea803e71;hpb=b546c3ade256b53e19fac2b50ea2efc9a45c59f5 diff --git a/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.s b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.s new file mode 100644 index 0000000000..33101c12ee --- /dev/null +++ b/MdePkg/Library/BaseMemoryLibRepStr/Ia32/ScanMem16.s @@ -0,0 +1,43 @@ +#------------------------------------------------------------------------------ +# +# Copyright (c) 2006, Intel Corporation +# All rights reserved. This program and the accompanying materials +# are licensed and made available under the terms and conditions of the BSD License +# which accompanies this distribution. The full text of the license may be found at +# http://opensource.org/licenses/bsd-license.php +# +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +# Module Name: +# +# ScanMem16.Asm +# +# Abstract: +# +# ScanMem16 function +# +# Notes: +# +# The following BaseMemoryLib instances share the same version of this file: +# +# BaseMemoryLibRepStr +# BaseMemoryLibMmx +# BaseMemoryLibSse2 +# +#------------------------------------------------------------------------------ + + .686: + .code: + +.global InternalMemScanMem16 +InternalMemScanMem16: + push %edi + movl 12(%esp),%ecx + movl 8(%esp),%edi + movl 16(%esp),%eax + repne scasw + leal -2(%edi),%eax + cmovnz %ecx, %eax + pop %edi + ret