.global memcpy .text # memcpy, copy n bytes of memory from src to dest # arguments: # a0: dest address # a1: source address # a2: number of bytes to copy # temporaries used: # t0, t1 # return: # a0: address of dest + n # a1: address of src + n # memcpy: li t0, 0 memcpy_loop: # TODO: copy in chunks of 4 bytes if n > 4 beq t0, a2, memcpy_done lbu t1, 0(a1) sb t1, 0(a0) addi a0, a0, 1 addi a1, a1, 1 addi t0, t0, 1 j memcpy_loop memcpy_done: ret