aboutsummaryrefslogtreecommitdiff
path: root/S/byte_diff.S
blob: f9d6c16e968f58ce209aa5daa2dfc58aebc1b8e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
.global byte_diff
.type	byte_diff,function
byte_diff:
	pushl	%esi
	pushl	%edi
	xorl	%eax, %eax
	movl	12(%esp), %esi
	movl	16(%esp), %ecx
	movl	20(%esp), %edi
	
	cld
	rep	cmpsb
	jz	.Lout
	sbbl	%eax, %eax
	orl	$1, %eax
.Lout:		
	popl %edi
	popl %esi
	ret