From af1a266670d040d2f4083ff309d732d648afba2a Mon Sep 17 00:00:00 2001 From: Angelos Mouzakitis Date: Tue, 10 Oct 2023 14:33:42 +0000 Subject: Add submodule dependency files Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec --- .../Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm | 46 ++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 roms/edk2/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm (limited to 'roms/edk2/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm') diff --git a/roms/edk2/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm b/roms/edk2/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm new file mode 100644 index 000000000..6200d5ff9 --- /dev/null +++ b/roms/edk2/MdePkg/Library/BaseMemoryLibOptPei/Ia32/SetMem.nasm @@ -0,0 +1,46 @@ +;------------------------------------------------------------------------------ +; +; Copyright (c) 2006, Intel Corporation. All rights reserved.
+; SPDX-License-Identifier: BSD-2-Clause-Patent +; +; Module Name: +; +; SetMem.Asm +; +; Abstract: +; +; SetMem function +; +; Notes: +; +;------------------------------------------------------------------------------ + + SECTION .text + +;------------------------------------------------------------------------------ +; VOID * +; InternalMemSetMem ( +; IN VOID *Buffer, +; IN UINTN Count, +; IN UINT8 Value +; ) +;------------------------------------------------------------------------------ +global ASM_PFX(InternalMemSetMem) +ASM_PFX(InternalMemSetMem): + push edi + mov ecx, [esp + 12] + mov al, [esp + 16] + mov ah, al + shrd edx, eax, 16 + shld eax, edx, 16 + mov edx, ecx + mov edi, [esp + 8] + shr ecx, 2 + rep stosd + mov ecx, edx + and ecx, 3 + rep stosb + mov eax, [esp + 8] + pop edi + ret + -- cgit 1.2.3-korg