xref: /original-bsd/usr.bin/f77/libF77/CCI/i_indx_s.s (revision d3640572)
1#	"@(#)i_indx_s.s	5.1 (Berkeley) 11/03/86"
2
3.data
4.text
5LL0:.align	1
6.globl	_i_indx
7.set MASK__, 0x1c0c
8.data
9.text
10_i_indx:	.word	MASK__
11
12	movl	4(fp), r3		/* s = a */
13	movl	8(fp), r10		/* b */
14	movl	16(fp), r12		/* lb */
15	addl3	r3, 12(fp), r11		/* end = a + la */
16	subl2  	r12, r11		/* end -= lb */
17loop:
18	cmpl	r3, r11			/* while (s <= end) */
19	jgtr	out0			/* not found - return(0) */
20	movl	r3, r0			/* current s in string */
21	movl	r10, r1			/* b */
22	movl	r12, r2			/* lb */
23	cmps3				/* if strings equal */
24	jeql	out			/* return index */
25
26	incl	r3			/* s++ */
27	jbr	loop
28
29out:
30	incl	r3			/* index = ++s - a */
31	subl3	4(fp), r3, r0
32	ret
33
34out0:
35	clrl	r0
36	ret
37