summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/dietlibc/i386/strncmp.S
blob: bf07b07d0e6a12edb180751680e5f25df505f0c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
.text
.align 0 
.global strncmp
.type	 strncmp,@function
strncmp:
	push %ebx
	movl %esp,%ebx
	movl 12(%ebx),%edx
	movl 16(%ebx),%ecx
	movl 8(%ebx),%ebx
.Lloop:
	jecxz .Ldone
	decl %ecx
	movb (%ebx),%al
	incl %edx
	incl %ebx
	movb %al,%ah
	subb -1(%edx),%al
	jnz .Lnotequal
	testb %ah,%ah
	jnz .Lloop

.Ldone:
	xorl %eax,%eax
.Lnotequal:
	movsx %al, %eax
	popl %ebx
	ret