]> git.proxmox.com Git - mirror_edk2.git/blame - ArmPkg/Library/CompilerIntrinsicsLib/Arm/uread.asm
ArmPkg: update RVCT assembly functions to use new RVCT_ASM_EXPORT macro
[mirror_edk2.git] / ArmPkg / Library / CompilerIntrinsicsLib / Arm / uread.asm
CommitLineData
3402aac7 1//------------------------------------------------------------------------------\r
68085d37 2//\r
3// Copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
4//\r
5// This program and the accompanying materials\r
6// are licensed and made available under the terms and conditions of the BSD License\r
7// which accompanies this distribution. The full text of the license may be found at\r
8// http://opensource.org/licenses/bsd-license.php\r
9//\r
10// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12//\r
13//------------------------------------------------------------------------------\r
14\r
15\r
16\r
68085d37 17\r
efda1775 18 INCLUDE AsmMacroExport.inc\r
68085d37 19\r
20;\r
21;UINT32\r
22;EFIAPI\r
23;__aeabi_uread4 (\r
24; IN VOID *Pointer\r
25; );\r
26;\r
efda1775 27 RVCT_ASM_EXPORT __aeabi_uread4\r
68085d37 28 ldrb r1, [r0]\r
29 ldrb r2, [r0, #1]\r
30 ldrb r3, [r0, #2]\r
31 ldrb r0, [r0, #3]\r
32 orr r1, r1, r2, lsl #8\r
33 orr r1, r1, r3, lsl #16\r
34 orr r0, r1, r0, lsl #24\r
35 bx lr\r
36\r
836a7825 37;\r
38;UINT64\r
39;EFIAPI\r
40;__aeabi_uread8 (\r
41; IN VOID *Pointer\r
42; );\r
43;\r
efda1775 44 RVCT_ASM_EXPORT __aeabi_uread8\r
91c38d4e 45 mov r3, r0\r
836a7825 46\r
47 ldrb r1, [r3]\r
48 ldrb r2, [r3, #1]\r
49 orr r1, r1, r2, lsl #8\r
50 ldrb r2, [r3, #2]\r
51 orr r1, r1, r2, lsl #16\r
52 ldrb r0, [r3, #3]\r
53 orr r0, r1, r0, lsl #24\r
54\r
55 ldrb r1, [r3, #4]\r
56 ldrb r2, [r3, #5]\r
57 orr r1, r1, r2, lsl #8\r
58 ldrb r2, [r3, #6]\r
59 orr r1, r1, r2, lsl #16\r
60 ldrb r2, [r3, #7]\r
61 orr r1, r1, r2, lsl #24\r
62\r
63 bx lr\r
68085d37 64 END\r