memchr.s 233 B

1234567891011121314151617181920212223
  1. TEXT memchr(SB),$0
  2. MOVL n+8(FP), CX
  3. CMPL CX, $0
  4. JEQ none
  5. MOVL p+0(FP), DI
  6. MOVBLZX c+4(FP), AX
  7. CLD
  8. /*
  9. * SCASB is memchr instruction
  10. */
  11. REPN; SCASB
  12. JEQ found
  13. none:
  14. MOVL $0, AX
  15. RET
  16. found:
  17. MOVL DI, AX
  18. SUBL $1, AX
  19. RET