Erstelle ein MIPS-Assembly-Programm, das eine quadratische Gleichung lösen kann.
Hier ist ein Beispiel für ein MIPS-Assembly-Programm, das eine quadratische Gleichung lösen kann:

```assembly
.data
a:  .word 2       # Koeffizient a
b:  .word 5       # Koeffizient b
c:  .word 3       # Koeffizient c

.text
main:
    # Lade die Koeffizienten in Register
    lw  $t0, a
    lw  $t1, b
    lw  $t2, c

    # Berechne die Diskriminante
    mul $t3, $t1, $t1       # t3 = b*b
    li  $t4, 4              # 4
    mul $t4, $t0, $t2       # t4 = 4ac
    mul $t4, $t4, $t4       # t4 = 16ac
    sub $t3, $t3, $t4       # t3 = b*b - 16ac

    # Überprüfe, ob die Diskriminante negativ ist
    bltz $t3, no_solutions   # wenn (t3 < 0) gehe zu no_solutions

    # Berechne die Lösungen
    sqrt.d $f4, $t3         # f4 = sqrt(t3)
    li     $v0, 4
    la     $a0, prompt1     # gib "Lösungen:" aus
    syscall
    neg.d  $f5, $f4         # f5 = -f4
    sub.d  $f6, $f5, $f1    # f6 = (-b - f4) / (2a)
    div.d  $f6, $f6, $f0
    li     $v0, 3           # gib erste Lösung aus
    mov.d  $f12, $f6
    syscall
    sub.d  $f6, $f5, $f1    # f6 = (-b + f4) / (2a)
    div.d  $f6, $f6, $f0
    li     $v0, 3           # gib zweite Lösung aus
    mov.d  $f12, $f6
    syscall

exit:
    li $v0, 10              # Beende das Programm
    syscall

no_solutions:
    li     $v0, 4
    la     $a0, prompt2     # gib "Keine reellen Lösungen" aus
    syscall
    j      exit

# Zeichenketten für Benachrichtigungen
prompt1:  .asciiz "Lösungen:
"
prompt2:  .asciiz "Keine reellen Lösungen
"
```

Dieses Programm nimmt die Koeffizienten einer quadratischen Gleichung (a, b und c) entgegen und berechnet die Diskriminante. Wenn die Diskriminante negativ ist, gibt das Programm eine Nachricht aus, dass es keine reellen Lösungen gibt. Wenn die Diskriminante nicht-negativ ist, berechnet das Programm die beiden Lösungen und gibt sie aus.