...# # # # # # # CODIGO ASSEMBLY PARA O CALCULO DO FATORIAL NAO RECURSIVO inteiro positivo n. (Ex: 0! = 1; código em C #include #include 3! = 3*2*1 = 6) */ # int fatorial(int n) # { # int fat = 1; # while (n > 1) { # fat = fat * n--; # } # return(fat); # } # # void main() # { # int n = 0; # # printf("Digite um numero para o fatorial:"); # scanf("%d", &n); # # printf("O fatorial de %d e' %d\n", n, fatorial(n)); # # return; # } #******************************************************************* .data # inicia o segmento de dados .align 0 # determina o alinhamento dos bytes (2 elevado a 0) strdigite: .asciiz "Digite um numero para o fatorial: " strfat: .asciiz "O fatorial de " streh: .asciiz " eh :" .text # inicia o segmento de texto .align 2 # determina alinhamento de 2 elevado a 2, ou seja, 4 bytes .globl main # determina que o identificador main é global main: li $v0, 4 # cod. rotina impressao string la $a0, strdigite # end. da string a ser impressa syscall # chamada do sistema operacional li $v0, 5 syscall # cod rotina ler um inteiro # chamada do sistema operacional # copia vlr lido para $a0 (parametro) add $a0, $zero, $v0 jal fatorial move $t1, $v0 move $t0, $a0 calculado o fatorial li $v0, 4 la $a0, strfat syscall # chama a funcao fatorial # salva em $t1 o resultado do fatorial # salva em $t0 o valor sobre o qual foi # cod. rotina impressao string # obtem endereco de strfat para impressao # impressao da string strfat li $v0, 1 move $a0, $t0 syscall li $v0, 4...
Words: 402 - Pages: 2