xref: /original-bsd/lib/libc/tahoe/string/strncmp.s (revision a9c19d04)
1#ifdef LIBC_SCCS
2	.asciz	"@(#)strncmp.s	1.1 (Berkeley/CCI) 08/01/86"
3#endif LIBC_SCCS
4
5/*
6 * Compare strings (at most n bytes):  s1>s2: >0  s1==s2: 0  s1<s2: <0
7 *
8 * strncmp(s1, s2, n)
9 * register char *s1, *s2;
10 * register n;
11 */
12#include "DEFS.h"
13
14ENTRY(strncmp, 0)
15	movl	12(fp),r2
16	tstl	r2		/* number of bytes to compare */
17	jgtr	n_ok
18	clrl	r0
19	ret			/* for n <= 0 , s1 == s2 */
20n_ok:
21	movl	4(fp),r0
22	movl	8(fp),r1
23	cmps3
24	jgtr	greater
25	jlss	less
26equal:	clrl	r0
27	ret
28less:	movl	$-1,r0
29	ret
30greater: movl	$1,r0
31	ret
32