//------------------------------------------------------------------------------\r
//\r
-// Copyright (c) 2011, ARM Limited. All rights reserved.\r
+// Copyright (c) 2011-2014, ARM Limited. All rights reserved.\r
//\r
// This program and the accompanying materials\r
// are licensed and made available under the terms and conditions of the BSD License\r
;\r
__aeabi_memmove\r
CMP r2, #0\r
- BXEQ r14\r
+ BXEQ lr\r
CMP r0, r1\r
- BXEQ r14\r
+ BXEQ lr\r
BHI memmove_backward\r
- BLS memmove_forward\r
\r
memmove_forward\r
LDRB r3, [r1], #1\r
STRB r3, [r0], #1\r
SUBS r2, r2, #1\r
- BXEQ r14\r
- B memmove_forward\r
+ BNE memmove_forward\r
+ BX lr\r
\r
memmove_backward\r
add r0, r2\r
add r1, r2\r
memmove_backward_loop\r
- LDRB r3, [r1], #-1\r
- STRB r3, [r0], #-1\r
- SUBS r2, r2, #-1\r
- BXEQ r14\r
- B memmove_backward_loop\r
+ LDRB r3, [r1, #-1]!\r
+ STRB r3, [r0, #-1]!\r
+ SUBS r2, r2, #1\r
+ BNE memmove_backward_loop\r
+ BX lr\r
\r
END\r