Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
.data dig_num: .asciiz "Digite um nomero: " res_num: .asciiz "! = " .text .globl main main: # Exibe a mensagem "dig_num" li $v0, 4 la $a0, dig_num syscall # Lê e armazena o número digitado. li $v0, 5 syscall move $t0, $v0 # Auxiliares da label while move $t1, $zero li $t2, 1 li $t3, 1 while: beq $t1, $t0, end # Desvia somente se o auxiliar $t1 for igual ao número digitado. mul $t2, $t3, $t2 # Multiplica o $t2 pelo $t3 e armazena no $t2 novamente. addi $t1, $t1, 1 # adicionar +1 no $t1 para verificar no while. addi $t3, $t3, 1 # adiciona +1 para multiplicar a próxima casa do fatorial. j while # reinicia o while caso a condicional beq não for atendida. end: # Exibe o valor digitado inicialmente. li $v0, 1 move $a0, $t0 syscall # Exibe a mensagem que forma a operação do fatorial li $v0, 4 la $a0, res_num syscall # Exibe a resposta do fatorial li $v0, 1 move $a0, $t2 syscall
Compartilhar