# Spim program to copy strings by pointers.
#
#  #include 
#
#  void strcpy(char *dest, char *src) {
#    do
#      *dest++ = *src++;
#    while (*src);
#  }
#
#  main() {
#    char si[] = "Hello, world.\n";
#    char so[80];
#
#    strcpy(so,si);
#    cout << so;
#  }


	.text
	.globl main

main:
	la $a0, so
	la $a1, si
	jal strcpy

	la $a0, so
	li $v0, 4
	syscall

	li $v0, 10
	syscall

# strcpy -- copy the string pointed to by $a1 to the location
# pointed to by $a0

strcpy: lb $t0, 0($a1)
	addi $a1, $a1, 1
	sb $t0, 0($a0)
	addi $a0, $a0, 1
	bnez $t0, strcpy
	jr $ra

	.data
si:	.asciiz "Hello, world.\n"
so:	.space 80