memccpy.s 324 B

123456789101112131415161718192021222324252627
  1. TEXT memccpy(SB), $0
  2. MOVW R7, 0(FP)
  3. MOVW n+12(FP), R7
  4. SUBCC R0,R7, R0
  5. BE ret
  6. MOVW s1+0(FP), R9
  7. MOVW s2+4(FP), R8
  8. MOVBU c+11(FP), R10
  9. ADD R7,R8, R11
  10. l1: MOVBU (R8), R12
  11. ADD $1, R8
  12. MOVBU R12, (R9)
  13. ADD $1, R9
  14. SUBCC R10,R12, R0
  15. BE eq
  16. SUBCC R8,R11, R0
  17. BNE l1
  18. MOVW R0, R7
  19. RETURN
  20. eq:
  21. MOVW R9, R7
  22. ret:
  23. RETURN