FreeCalypso > hg > freecalypso-tools
annotate target-utils/libc/strlen.S @ 496:3d73d4d3527f
target-utils: removed osmo_delay_ms() from ABB access code
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 25 May 2019 20:17:27 +0000 |
parents | 3670e7768ab6 |
children |
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 |