• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1//------------------------------------------------------------------------------
2//
3// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4// Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>
5//
6// This program and the accompanying materials
7// are licensed and made available under the terms and conditions of the BSD License
8// which accompanies this distribution.  The full text of the license may be found at
9// http://opensource.org/licenses/bsd-license.php
10//
11// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13//
14//------------------------------------------------------------------------------
15
16
17    EXPORT  __aeabi_memset
18    EXPORT  __aeabi_memclr
19    EXPORT  __aeabi_memclr4
20
21    AREA    Memset, CODE, READONLY
22
23; void __aeabi_memclr4(void *dest, size_t n);
24; void __aeabi_memclr(void *dest, size_t n);
25__aeabi_memclr
26__aeabi_memclr4
27  mov   r2, #0
28
29;
30;VOID
31;EFIAPI
32;__aeabi_memset (
33; IN  VOID    *Destination,
34; IN  UINT32  Size,
35; IN  UINT32  Character
36; );
37;
38__aeabi_memset
39  cmp  r1, #0
40  bxeq lr
41  ; args = 0, pretend = 0, frame = 0
42  ; frame_needed = 1, uses_anonymous_args = 0
43L10
44  strb  r2, [r0], #1
45  subs  r1, r1, #1
46  ; While size is not 0
47  bne  L10
48  bx   lr
49
50  END
51