1b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#------------------------------------------------------------------------------
2b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
384b5877f028a20f4227a26a7b63dc2e57949fc18hhtian# Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
484b5877f028a20f4227a26a7b63dc2e57949fc18hhtian# This program and the accompanying materials
5b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# are licensed and made available under the terms and conditions of the BSD License
6b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# which accompanies this distribution.  The full text of the license may be found at
72fc59a003ed9104f9feebe0e418f2a04a50f3284myronporter# http://opensource.org/licenses/bsd-license.php.
8b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
9b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
12b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# Module Name:
13b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
14b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#   SetMem32.S
15b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
16b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# Abstract:
17b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
18b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#   SetMem32 function
19b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
20b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang# Notes:
21b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#
22b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#------------------------------------------------------------------------------
23b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang
24132f41f0a92082775d931067089a63ca50367225xliASM_GLOBAL ASM_PFX(InternalMemSetMem32)
25b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang
26b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#------------------------------------------------------------------------------
27b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#  VOID *
28b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#  InternalMemSetMem32 (
29b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#    IN VOID   *Buffer,
30b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#    IN UINTN  Count,
31b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#    IN UINT32 Value
32b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#    )
33b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang#------------------------------------------------------------------------------
34b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuangASM_PFX(InternalMemSetMem32):
35b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    push    %edi
36b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    movl    16(%esp),%eax
37b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    movl    8(%esp),%edi
38b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    movl    12(%esp),%ecx
39b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    rep
40b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    stosl
41b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    movl    8(%esp),%eax
42b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    pop     %edi
43b1ff428c96518b7f4810eff4688d60ac7c65fba5qhuang    ret
44