FreeCalypso > hg > freecalypso-tools
annotate target-utils/libc/strlen.S @ 735:5b8287c655cf
fc-pulse-dtr and fc-pulse-rts utilities implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 15 Sep 2020 04:29:43 +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 |