]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Library/BaseMemoryLibRepStr/X64/ZeroMem.nasm
MdePkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / MdePkg / Library / BaseMemoryLibRepStr / X64 / ZeroMem.nasm
CommitLineData
67e70529
JJ
1;------------------------------------------------------------------------------\r
2;\r
3; Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>\r
9344f092 4; SPDX-License-Identifier: BSD-2-Clause-Patent\r
67e70529
JJ
5;\r
6; Module Name:\r
7;\r
8; ZeroMem.Asm\r
9;\r
10; Abstract:\r
11;\r
12; ZeroMem function\r
13;\r
14; Notes:\r
15;\r
16;------------------------------------------------------------------------------\r
17\r
18 DEFAULT REL\r
19 SECTION .text\r
20\r
21;------------------------------------------------------------------------------\r
22; VOID *\r
23; InternalMemZeroMem (\r
24; IN VOID *Buffer,\r
25; IN UINTN Count\r
26; );\r
27;------------------------------------------------------------------------------\r
28global ASM_PFX(InternalMemZeroMem)\r
29ASM_PFX(InternalMemZeroMem):\r
30 push rdi\r
31 push rcx\r
32 xor rax, rax\r
33 mov rdi, rcx\r
34 mov rcx, rdx\r
35 shr rcx, 3\r
36 and rdx, 7\r
37 rep stosq\r
38 mov ecx, edx\r
39 rep stosb\r
40 pop rax\r
41 pop rdi\r
42 ret\r
43\r