Fatorial Assembly MIPS
Publicado por Saulo Gomes (última atualização em 16/09/2015)
[ Hits: 8.877 ]
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)
"Clear Screen" para Linux x86 com Inline Assembly (embutido no código) em C
Escrita de um número em octal na tela em Assembly Puro para Linux x86 (GNU Assembly)
Retorna o maior elemento de um vetor
Escrita de número em hexadecimal em Assembly Puro para Linux 64bits (Nasm - Netwide Assemble)
Calcula ano de nascimento - C + Assembly
Nenhum comentário foi encontrado.
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Usando dracut e dispensando genkernel no Gentoo + LUKS + Btrfs
Curso GRÁTIS: OCS Inventory NG - Do Deploy ao Hardening com foco em Segurança da Informação!
Instalando fontes via script no Nautilus Scripts no Gnome do Debian 13
O que houve com slackware ??? (3)
Pendrive do Ubuntu 24.04 travando ao tentar fazer a instalação dual bo... (5)









