FreeCalypso > hg > freecalypso-tools
annotate target-utils/libc/strlen.S @ 393:d3ee0de6b12e
lcdemu removed from this repository, moved to freecalypso-ui-dev
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 15 Mar 2018 00:36:07 +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 |