Fatorial em assembly
Publicado por Leonardo Weslei Diniz 10/06/2008
[ Hits: 22.451 ]
Homepage: http://www.agilesoft.com.br/
Download fatorial_exterminador3.s
Recursividade em assembly também é possível!
Fatorial em assembly.
#By Exterminador3 .data str1: .asciiz "\n\tDigite um valor : " .text .globl main. #main() main: # Ponto de entrada... li $v0,4 # Pede ao utilizador o valor N la $a0,str1 syscall li $v0,5 syscall addi $a0,$v0,0 # Valor lido fica em a0 jal fact # call fact(n) addi $a0,$v0,0 # Escreve o resultado li $v0,1 syscall li $v0,10 # Fim... syscall fact: sub $sp,$sp,8 # Ajusta a stack para 2 items sw $ra, 4($sp) # Guarda endereço de retorno sw $a0, 0($sp) # Guarda argumento n slt $t0,$a0,1 # testa se n < 1 beq $t0,$zero,L1 # Se n >= 1, vai fazer outra chamada li $v0,1 # Se não for devolve 1 add $sp,$sp,8 # liberta o espaço da stack antes de jr $ra # retornar L1: sub $a0,$a0,1 # Nova chamada: novo argumento (n - 1) jal fact # call fact com (n - 1) # Ponto de retorno da chamada recursiva: lw $a0, 0($sp) # Recupera o argumento passado lw $ra, 4($sp) # Recupera o endereço de retorno add $sp,$sp,8 # Liberta o espaço da stack mul $v0,$a0,$v0 # Calcula n * fact (n - 1) jr $ra # Retorna com o resultado
Escrita de um número em hexadecimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly
Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (NASM - Netwide Assembler)
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (40)
Pfsense inacessivel após um periodo de tempo (2)









