annotate target-utils/libc/strlen.S @ 416:30f6d1c32c6f

doc/Flash-boot-defect article removed (no longer relevant) This article is no longer relevant because the issue in question only affected one (1) defective FCDEV3B board which was not and never will be sold.
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 26 Oct 2018 07:11:08 +0000
parents 3670e7768ab6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
95
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 .text
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 .code 32
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 .globl strlen
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 strlen:
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 mov r1, r0
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 1: ldrb r2, [r0], #1
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 cmn r2, #0
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 bne 1b
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 sbc r0, r0, r1
3670e7768ab6 target-utils/libc: strlen optimized assembly implementation added
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 bx lr