This source file includes following definitions.
- strcmp
1
2
3
4
5
6
7
8 #include <machine/asm.h>
9
10
11
12
13
14
15
16 ENTRY(strcmp)
17 movl 0x04(%esp),%eax
18 movl 0x08(%esp),%edx
19 jmp L2
20
21 .align 2,0x90
22 L1: incl %eax
23 incl %edx
24 L2: movb (%eax),%cl
25 testb %cl,%cl
26 jz L3
27 cmpb %cl,(%edx)
28 jne L3
29 incl %eax
30 incl %edx
31 movb (%eax),%cl
32 testb %cl,%cl
33 jz L3
34 cmpb %cl,(%edx)
35 jne L3
36 incl %eax
37 incl %edx
38 movb (%eax),%cl
39 testb %cl,%cl
40 jz L3
41 cmpb %cl,(%edx)
42 jne L3
43 incl %eax
44 incl %edx
45 movb (%eax),%cl
46 testb %cl,%cl
47 jz L3
48 cmpb %cl,(%edx)
49 jne L3
50 incl %eax
51 incl %edx
52 movb (%eax),%cl
53 testb %cl,%cl
54 jz L3
55 cmpb %cl,(%edx)
56 jne L3
57 incl %eax
58 incl %edx
59 movb (%eax),%cl
60 testb %cl,%cl
61 jz L3
62 cmpb %cl,(%edx)
63 jne L3
64 incl %eax
65 incl %edx
66 movb (%eax),%cl
67 testb %cl,%cl
68 jz L3
69 cmpb %cl,(%edx)
70 jne L3
71 incl %eax
72 incl %edx
73 movb (%eax),%cl
74 testb %cl,%cl
75 jz L3
76 cmpb %cl,(%edx)
77 je L1
78 .align 2, 0x90
79 L3: movzbl (%eax),%eax
80 movzbl (%edx),%edx
81 subl %edx,%eax
82 ret