|
|
1.1 root 1: //////////
2: / libc/string/i386/strlen.s
3: / i386 C string library.
4: / ANSI 4.11.6.3.
5: //////////
6:
7: //////////
8: / size_t
9: / strlen(char *String)
10: /
11: / Find length of String.
12: //////////
13:
14: String .equ 8
15:
16: .globl strlen
17:
18: strlen:
19: push %edi
20:
21: movl %edi, String(%esp) / String address to EDI
22: movl %ecx, $-1 / Max count to ECX
23: subb %al, %al / NUL to AL
24: cld
25: repne
26: scasb / Scan to NUL
27: movl %eax, $-2
28: subl %eax, %ecx / Return length in EAX
29:
30: pop %edi
31: ret
32:
33: / end of libc/string/i386/strlen.s
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.