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