############################################################################### # Multipliziert zwei Integerzahlen, zeigt die Verwendung der Register hi, lo # # die benoetigt werden, weil das Produkt von 32-Bit-Zahlen bis zu 64-Bit lang # # wird. Bei der Division wird der Quotient in lo und der Rest in hi abgelegt # ############################################################################### .data number1: .word 0x0fffffff number2: .word 0x12345678 number3: .word 0x01234567 .text # Laden der Beispielzahlen in t0, t1, t2 lw $t0, number1 lw $t1, number2 lw $t2, number3 # Multiplikation mul $t3, $t0, $t1 # Die unteren 32 Bits des Produkts werden in $t3 abgelegt mfhi $s0 # Um auf die oberen 32 Bits zugreifen zu können, wird mfhi benötigt mflo $s1 # Fuer den Zugriff auf die unteren 32 Bits des Produkts wird mflo verwendet # Division $t0 durch $t1 div $t0, $t2 # speichert den Quotienten in lo und den rest in hi mfhi $s2 # holt den Rest der Division aus hi und legt ihn in $s2 ab mflo $s3 # holt den Quotienten aus lo und legt ihn in $s3 ab # exit li $v0, 10 syscall