# strcopy.asm
# Function: char* strcopy(char *dst, char *src)
# Arguments: $a0 - dst, $a1 - src
# Returns: $v0 - dst

.text
.globl strcopy

strcopy:
    addi $sp, $sp, -8     # Allocate stack space
    sw $ra, 4($sp)        # Save return address
    sw $s0, 0($sp)        # Save s0

    move $s0, $a0         # dst -> s0
    move $t0, $a1         # src -> t0

strcopy_loop:
    lb $t1, 0($t0)        # Load byte from src[i]
    sb $t1, 0($s0)
