# silnia .data te1: .asciiz "Silnia" te2: .asciiz "\nPodaj a: " silnia: .asciiz "\na! = " .text .globl main main: # Start of code section li $v0, 4 # la $a0, te1 # wyswietlanie tekstu syscall # li $v0, 4 # la $a0, te2 # wyswietlanie tekstu syscall # # czytanie liczby calkowitej li $v0, 5 syscall # silnia move $t0, $v0 # licznik move $t1, $v0 # liczba sub $t0, $t0, 1 # wstepne ustawienie licznika petla: mul $t1, $t1, $t0 # silnia rekurencyjne: silnia=silnia*licznik sub $t0, $t0, 1 # licznik=licznik-1 bgtz $t0, petla # skok gdy licznik jest >0 # wyswietlanie tekstu li $v0, 4 la $a0, silnia syscall # wyswietlanie liczby calkowitej li $v0, 1 move $a0, $t1 syscall # KONIEC