Fatorial Assembly MIPS
Publicado por Saulo Gomes (última atualização em 16/09/2015)
[ Hits: 8.623 ]
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)
Escrita de um número em octal na tela em Assembly Puro para Linux 64 bits (GNU Assembler)
"Clear Screen" para Linux x86 em Assembly Puro (GNU Assembly)
Escrita de um número em hexadecimal na tela em Assembly Puro para Linux 64 bits (GNU Assembly
Nenhum comentário foi encontrado.
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Linux mint não desliga corretamente mesmo mexendo no grub (1)