home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 4 / AACD04.ISO / AACD / Programming / powerd / lib / PowerD / InStr.ass < prev    next >
Encoding:
Text File  |  1999-09-20  |  502 b   |  31 lines

  1. ; (4,a7)  - string
  2. ; (8,a7)  - string to find
  3. ; (12,a7) - startindex=0
  4.  
  5.     xdef    _InStr
  6.  
  7. _InStr    movem.l    d2/a2-a3,-(a7)
  8.     move.l    (8+12,a7),a1
  9.     move.l    (12+12,a7),a0
  10.     move.l    a0,d2
  11.     add.l    (4+12,a7),a0
  12.     move.b    (a1)+,d0
  13. .loop    move.b    (a0)+,d1
  14.     beq.s    .notfound
  15.     cmp.b    d0,d1
  16.     bne.s    .loop
  17.     move.l    a0,a2
  18.     move.l    a1,a3
  19. .next    move.b    (a3)+,d1
  20.     beq.s    .found
  21.     cmp.b    (a2)+,d1
  22.     bne.s    .loop
  23.     beq.s    .next
  24. .found    subq.l    #1,a0
  25.     move.l    a0,d0
  26.     sub.l    d2,d0
  27.     bra.s    .finish
  28. .notfound    moveq    #-1,d0
  29. .finish    movem.l    (a7)+,d2/a2-a3
  30.     rts
  31.