memccpy.s 282 B

1234567891011121314151617181920
  1. TEXT memccpy(SB), $0
  2. MOVW R1, 0(FP)
  3. MOVW n+12(FP), R1
  4. BEQ R1, ret
  5. MOVW s1+0(FP), R3
  6. MOVW s2+4(FP), R2
  7. MOVBU c+11(FP), R4
  8. ADDU R1, R2, R5
  9. l1: MOVBU (R2), R6
  10. ADDU $1, R2
  11. MOVBU R6, (R3)
  12. ADDU $1, R3
  13. BEQ R4, R6, eq
  14. BNE R2, R5, l1
  15. MOVW $0, R1
  16. RET
  17. eq: MOVW R3, R1
  18. ret: RET