]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Library/BaseMemoryLibMmx/Ia32/ZeroMem.nasm
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibMmx / Ia32 / ZeroMem.nasm
1 ;------------------------------------------------------------------------------
2 ;
3 ; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
4 ; SPDX-License-Identifier: BSD-2-Clause-Patent
5 ;
6 ; Module Name:
7 ;
8 ; ZeroMem.nasm
9 ;
10 ; Abstract:
11 ;
12 ; ZeroMem function
13 ;
14 ; Notes:
15 ;
16 ;------------------------------------------------------------------------------
17
18 SECTION .text
19
20 ;------------------------------------------------------------------------------
21 ; VOID *
22 ; InternalMemZeroMem (
23 ; IN VOID *Buffer,
24 ; IN UINTN Count
25 ; );
26 ;------------------------------------------------------------------------------
27 global ASM_PFX(InternalMemZeroMem)
28 ASM_PFX(InternalMemZeroMem):
29 push edi
30 mov edi, [esp + 8]
31 mov ecx, [esp + 12]
32 mov edx, ecx
33 shr ecx, 3
34 jz @ZeroBytes
35 pxor mm0, mm0
36 .0:
37 movq [edi], mm0
38 add edi, 8
39 loop .0
40 @ZeroBytes:
41 and edx, 7
42 xor eax, eax
43 mov ecx, edx
44 rep stosb
45 mov eax, [esp + 8]
46 pop edi
47 ret
48