程序代写代做代考 #+ BITTE NICHT MODIFIZIEREN: Vorgabeabschnitt

#+ BITTE NICHT MODIFIZIEREN: Vorgabeabschnitt
#+ ——————————————

.data

str_Eingabe: .asciiz “Eingabe: ”
str_Rueckgabewert: .asciiz “\nRueckgabewert: ”
str_Ausgabe: .asciiz “\nAusgabedaten:”

rle_compressed_output_buf: .space 100

.text

.eqv SYS_PUTSTR 4
.eqv SYS_PUTCHAR 11
.eqv SYS_PUTINT 1
.eqv SYS_EXIT 10

.globl main
main:

# Eingabezeichenfolge anzeigen:
li $v0, SYS_PUTSTR
la $a0, str_Eingabe
syscall
la $a0, str_test_input
syscall

# Aufruf der zu testenden Funktion rle:
la $a0, str_test_input
la $a1, rle_compressed_output_buf
jal rle

# Rueckgabewert anzeigen:
move $t0, $v0
li $v0, SYS_PUTSTR
la $a0, str_Rueckgabewert
syscall
li $v0, SYS_PUTINT
move $a0, $t0
syscall

# Ausgabedaten anzeigen:
li $v0, SYS_PUTSTR
la $a0, str_Ausgabe
syscall

la $t0, rle_compressed_output_buf
_main_output_loop:
lb $t1, 0($t0)
lb $t2, 1($t0)
or $t3, $t1, $t2
beqz $t3, _main_output_endloop

li $v0, SYS_PUTCHAR
li $a0, ‘ ‘
syscall
li $a0, ‘(‘
syscall
li $a0, ‘\”
syscall

move $a0, $t1
syscall

li $a0, ‘\”
syscall
li $a0, ‘,’
syscall

li $v0, SYS_PUTINT
move $a0, $t2
syscall

li $v0, SYS_PUTCHAR
li $a0, ‘)’
syscall

addi $t0, $t0, 2
j _main_output_loop
_main_output_endloop:

# Programmende
li $v0, SYS_EXIT
syscall

#+ BITTE VERVOLLSTAENDIGEN: Persoenliche Angaben zur Hausaufgabe
#+ ————————————————————-

# Vorname:
# Nachname:
# Matrikelnummer:

#+ Loesungsabschnitt
#+ —————–

.data

str_test_input: .asciiz “BBBBBZZABB”

.text

rle:
# Funktion rle bitte hier implementieren.
jr $ra