Fatorial Assembly MIPS
Publicado por Saulo Gomes (última atualização em 16/09/2015)
[ Hits: 8.568 ]
Homepage: https://about.me/saulo.gomes
Usando o simulador MARS, fiz esse pequeno script para demonstrar como uma operação de fatoração pode ser executada, basta alterar o valor da variável 'num'.
Optei por não utilizar dados de entrada para simplificar o entendimento.
# By saulobr88 # Assembly MIPS fatorial exemplo # .data num: .word 10 one: .word 1 two: .word 2 .text .globl main # main() main: lw $s0, num # Guarda o valor de entrada lw $s1, one # Guarda 1 para comparacao e retorno lw $s2, two # Guarda 2 para comparacao li $s3, 268500992 # Endereço de destino na RAM em decimal lw $t2, one # para ser o retorno padrao lw $t3, num # Valor de controle para o LOOP add $s4, $s0, $s1 # $s4 = 11 # Teste para saber se num eh maior que 1 slt $t0,$s0,$s2 # testa se num < 2 (retorna 1 se num < 2) beq $t0,$zero,LOOP # Se num >= 1, vai fazer outra chamada #sw $t2, ($s3) j LSair LOOP: addi $t4, $t4, 1 slt $t0, $t4, $s4 # Verifica se o valor esta na sua ultima posicao beq $t0, $zero, LSair # Se chegou no final sai mul $t2, $t2, $t4 # t2 começa com 1, e vai incrementando pelo produto j LOOP LSair: sw $t2, ($s3)
Algoritmo de Raiz Quadrada Inteira em Assembly Puro para Linux x86 (GNU Assembler)
GAS Inteiro para String (formato binário)
Escrita de um número em octal na tela em Assembly Puro para Linux x86 (GNU Assembly)
"Clear Screen" para Linux x86 em Assembly Puro (Nasm - Netwide Assembler)
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
Jogando com Proton no LInux (0)
Ingress NGINX Controller CVSS base score of 9.8 (4)
Impossível corrigir problemas, você manteve (hold) pacotes quebrados. (2)