Advertisement
luisfcdarcadia

Euler 1 - MIPS Assembly

Feb 28th, 2015
230
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #Euler problema 1
  2. #MIPS Assembly
  3. #Luis F. C. D Arcadia
  4. #Soma multiplos de 3 e 5 menores de 1000
  5. .text
  6.  
  7.     li $2, 1    #inicia a contagem ate mil
  8.     li $3, 0    #soma
  9.     li $t3, 3   #carrega divisor 3
  10.     li $t5, 5   #carrega divisor 5
  11.  
  12. L1:
  13. #divisao por 3 
  14.     div  $2, $t3    #divide por 3
  15.     mfhi $4     #comando que retoma o resto
  16.     beqz  $4,L2 #faz a soma se for divisivel
  17.  
  18. #divisao por 5
  19.     div   $2, $t5   #divide por 5
  20.     mfhi $4     #comando retorna o resto
  21.     bnez  $4,L3 #continua a sequencia se o resto nao for 0 (pula para L3)
  22.  
  23. #soma total
  24. L2:    
  25.     add $3, $3, $2      #soma os multiplos
  26.  
  27. #continua o loop
  28. L3:
  29.     addi $2, $2, 1      #soma 1 ao numero testado e continua
  30.     blt  $2, 1000, L1   #nao encerra o programa enquanto $2 for menor que 1000
  31.        
  32.     # imprime a soma total, ou seja, o inteiro do registrador $3
  33.     addi    $a0, $3, 0
  34.     addi    $v0, $0, 1
  35.     syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement