home *** CD-ROM | disk | FTP | other *** search
/ Dream 48 / Amiga_Dream_48.iso / Atari / c / sozobon-v2 / dlibsrc.lha / STRRCHR.S < prev    next >
Text File  |  1988-10-05  |  683b  |  43 lines

  1. *    #include <stdio.h>
  2. *    
  3. *    char *strrchr(string, symbol)
  4. *        register char *string;
  5. *        register char symbol;
  6. *    /*
  7. *     *    Return a pointer to the last occurance of <symbol> in <string>.
  8. *     *    NULL is returned if <symbol> is not found.
  9. *     */
  10. *        {
  11. *        register char *p = string;
  12. *    
  13. *        while(*string++)
  14. *            ;
  15. *        do
  16. *            {
  17. *            if(*--string == symbol)
  18. *                return(string);
  19. *            }
  20. *            while(string != p);
  21. *        return(NULL);
  22. *        }
  23.  
  24. .text
  25. .globl _strrchr
  26. _strrchr:
  27.     move.l    4(a7),a0
  28.     move.w    8(a7),d0
  29.     move.l    a0,a1
  30. strrchr1:
  31.     tst.b    (a0)+
  32.     bne    strrchr1
  33. strrchr2:
  34.     cmp.b    -(a0),d0
  35.     bne    strrchr3
  36.     move.l    a0,d0
  37.     rts
  38. strrchr3:
  39.     cmp.l    a0,a1
  40.     bne    strrchr2
  41.     clr.l    d0
  42.     rts
  43.