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