annotate target-utils/libc/strlen.S @ 755:28d58a8cd704

fc-fsio help: write-battery-table change documented
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 05 Nov 2020 23:17:31 +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