FreeCalypso > hg > freecalypso-tools
diff target-utils/libc/memcmp.S @ 93:a675cec34076
target-utils/libc: assembly implementation of bcmp/memcmp
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 29 Oct 2016 00:15:12 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/target-utils/libc/memcmp.S Sat Oct 29 00:15:12 2016 +0000 @@ -0,0 +1,20 @@ + .text + .code 32 + .globl bcmp + .globl memcmp +bcmp: +memcmp: + cmp r2, #0 + beq zero_len_out + mov r3, r0 +1: ldrb r0, [r3], #1 + ldrb r12, [r1], #1 + subs r0, r0, r12 + bxne lr + subs r2, r2, #1 + bne 1b + bx lr + +zero_len_out: + mov r0, #0 + bx lr