### Demo-Programm für MIPS für die Vorlesung ###
###        "Grundlagen der Informatik"       ###
###               Jörg Roth                  ###
###
### strcpy: kopiert einen String
### strlen: berechnet die Länge eines Strings

	.data

str1:   .asciiz "halloABC0123.-,"
str2:   .space 100

	.text

        # strcpy (dst, src); dst: $a0, src: $a1
strcpy: lb $t0, 0($a1)
        sb $t0, 0($a0)
        beq $t0,$zero,end
        addi $a0,$a0,1
        addi $a1,$a1,1
        j strcpy

        # strlen (s); s: $a0, Ergebnis: $v0
strlen: li $v0,0
cnt:    lb $t0, 0($a0)
        beq $t0,$zero,end
        addi $a0,$a0,1
        addi $v0,$v0,1
        j cnt

end:    jr $ra

main:	la $a0,str2
	la $a1,str1
        jal strcpy

        # str2 ausgeben
        li $v0, 4
        la $a0, str2
        syscall

        la $a0,str2
        jal strlen
    
        # Wert ausgeben
        move $a0, $v0
        li $v0, 1
        syscall




