Buscar

Calculo de Fatorial em MIPS

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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando