Fatorial em assembly
Publicado por Leonardo Weslei Diniz 10/06/2008
[ Hits: 21.934 ]
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 decimal na tela em Assembly Puro para Linux x86 (GNU Assembler)
Escrita de um número em hexadecimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly
Retorna o maior e menor elemento de um vetor em Assembly
Escrita de número em hexadecimal em Assembly Puro para Linux 64bits (Nasm - Netwide Assemble)
DOOM clássico (quase) vanilla e um pouco melhorado
Mamãe, quero descompactar e também compactar arquivos no terminal!
Alias para atualizar apt e flatpak
Instalando Micosoft Edge no Fedora 40
junest - Mini Arch Linux dentro de sua Distro
Rescuezilla - o Clonezilla com interface gráfica e ferramentas
Latte Dock, um dock de aplicativos com várias opções de configuração para o KDE Plasma
Não tenho cursor no notebook (0)
Instalar dependências. O que não esquecer quando instalar pacotes deb (14)
Tenho um servidor próprio e gostaria de hospedar um site nele. (9)