]> git.proxmox.com Git - mirror_edk2.git/blob - ArmPkg/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
ArmPkg/CompilerIntrinsicsLib: Add uread, uwrite GCC assembly sources
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / uwrite.asm
1 //------------------------------------------------------------------------------
2 //
3 // Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
4 //
5 // SPDX-License-Identifier: BSD-2-Clause-Patent
6 //
7 //------------------------------------------------------------------------------
8
9
10
11 INCLUDE AsmMacroExport.inc
12
13 ;
14 ;UINT32
15 ;EFIAPI
16 ;__aeabi_uwrite4 (
17 ; IN UINT32 Data,
18 ; IN VOID *Pointer
19 ; );
20 ;
21 ;
22 RVCT_ASM_EXPORT __aeabi_uwrite4
23 mov r2, r0, lsr #8
24 strb r0, [r1]
25 strb r2, [r1, #1]
26 mov r2, r0, lsr #16
27 strb r2, [r1, #2]
28 mov r2, r0, lsr #24
29 strb r2, [r1, #3]
30 bx lr
31
32 ;
33 ;UINT64
34 ;EFIAPI
35 ;__aeabi_uwrite8 (
36 ; IN UINT64 Data, //r0-r1
37 ; IN VOID *Pointer //r2
38 ; );
39 ;
40 ;
41 RVCT_ASM_EXPORT __aeabi_uwrite8
42 mov r3, r0, lsr #8
43 strb r0, [r2]
44 strb r3, [r2, #1]
45 mov r3, r0, lsr #16
46 strb r3, [r2, #2]
47 mov r3, r0, lsr #24
48 strb r3, [r2, #3]
49
50 mov r3, r1, lsr #8
51 strb r1, [r2, #4]
52 strb r3, [r2, #5]
53 mov r3, r1, lsr #16
54 strb r3, [r2, #6]
55 mov r3, r1, lsr #24
56 strb r3, [r2, #7]
57 bx lr
58
59 END
60