FreeCalypso > hg > freecalypso-tools
annotate target-utils/libc/strlen.S @ 700:db9a8e88e63f
target-utils lunadrv program written, compiles
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 07 May 2020 02:19:51 +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 |