|
|
1.1 ! root 1: .data ! 2: .text ! 3: LL0:.align 1 ! 4: .globl _rindex_ ! 5: .set MASK__,0x1c0c ! 6: .data ! 7: .text ! 8: _rindex_: .word MASK__ ! 9: ! 10: movl 16(fp),r12 /* sublen */ ! 11: tstl r12 /* if sublen == 0 */ ! 12: jeql out0 /* return(0L) */ ! 13: ! 14: movl 4(fp), r11 /* str */ ! 15: movl 8(fp), r10 /* substr */ ! 16: addl3 r11, 12(fp), r3 /* p = str + strlen */ ! 17: subl2 r12, r3 /* p -= sublen */ ! 18: loop: ! 19: cmpl r3, r11 /* while (p >= str) */ ! 20: jlss out0 /* not found - return(0L) */ ! 21: movl r3, r0 /* current p (in str) */ ! 22: movl r10, r1 /* substr */ ! 23: movl r12, r2 /* sublen */ ! 24: cmps3 /* if strigs equal */ ! 25: jeql out /* return index */ ! 26: ! 27: decl r3 /* p-- */ ! 28: jbr loop ! 29: ! 30: out: ! 31: incl r3 /* index = ++p - str */ ! 32: subl3 r11, r3, r0 ! 33: ret ! 34: ! 35: out0: ! 36: clrl r0 ! 37: ret ! 38:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.