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

  1. ; (4,a7)  - estr
  2. ; (8,a7)  - str
  3. ; (12,a7) - start
  4. ; (16,a7) - length
  5.  
  6.     xdef    _MidEStr
  7.  
  8. _MidEStr    moveq    #0,d0
  9.     move.w    (18,a7),d0    ; word only
  10.     move.l    (8,a7),a1
  11.     add.l    (12,a7),a1
  12.     move.l    (4,a7),a0
  13.     move.l    a0,a2
  14.     moveq    #0,d1
  15.     move.w    (-4,a0),d1
  16.     cmp.l    d0,d1
  17.     bpl.s    .skip
  18.     move.l    d1,d0
  19. .skip    move.l    d0,d2
  20.     subq.l    #1,d0
  21. .loop    move.b    (a1)+,(a0)+
  22.     beq.s    .done
  23.     dbra    d0,.loop
  24.     move.b    #0,(a0)+
  25. .done    addq.w    #1,d0
  26.     sub.w    d0,d2
  27.     move.w    d2,(-2,a2)
  28.     move.l    a2,d0
  29.     rts
  30.