home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / CLIPPER / MISC / EMXLIB8F.ZIP / EMX / LIB / STR / FFS.S < prev    next >
Encoding:
Text File  |  1993-01-02  |  479 b   |  30 lines

  1. / ffs.s (emx+gcc) -- Copyright (c) 1993 by Eberhard Mattes
  2.  
  3.         .globl  _ffs
  4.  
  5. / int ffs (int i)
  6. / {
  7. /   int j;
  8. /
  9. /   if (i == 0)
  10. /     return (0);
  11. /   for (j = 1; !(i & 1); ++j)
  12. /     i >>= 1;
  13. /   return (j);
  14. / }
  15.  
  16.         .text
  17.  
  18.         .align  2, 0x90
  19.  
  20. _ffs:
  21.         movl    1*4(%esp), %edx         / i
  22.         bsfl    %edx, %eax
  23.         jz      1f
  24.         incl    %eax
  25.         ret
  26.  
  27.         .align  2, 0x90
  28. 1:      xorl    %eax,%eax
  29.         ret
  30.