]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/memset.asm
ARM Packages: Fixed line endings
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / memset.asm
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 //
5 // This program and the accompanying materials
6 // are licensed and made available under the terms and conditions of the BSD License
7 // which accompanies this distribution. The full text of the license may be found at
8 // http://opensource.org/licenses/bsd-license.php
9 //
10 // THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 //
13 //------------------------------------------------------------------------------
14
15
16 EXPORT __aeabi_memset
17 EXPORT __aeabi_memclr
18 EXPORT __aeabi_memclr4
19
20 AREA Memset, CODE, READONLY
21
22 ;
23 ;VOID
24 ;EFIAPI
25 ;__aeabi_memset (
26 ; IN VOID *Destination,
27 ; IN UINT32 Character,
28 ; IN UINT32 Size
29 ; );
30 ;
31 __aeabi_memset
32
33 ; args = 0, pretend = 0, frame = 0
34 ; frame_needed = 1, uses_anonymous_args = 0
35 stmfd sp!, {r7, lr}
36 mov ip, #0
37 add r7, sp, #0
38 mov lr, r0
39 b L9
40 L10
41 and r3, r1, #255
42 add ip, ip, #1
43 strb r3, [lr], #1
44 L9
45 cmp ip, r2
46 bne L10
47 ldmfd sp!, {r7, pc}
48
49 __aeabi_memclr
50 mov r2, r1
51 mov r1, #0
52 b __aeabi_memset
53
54 __aeabi_memclr4
55 mov r2, r1
56 mov r1, #0
57 b __aeabi_memset
58
59 END