Advertisement
Terrys

askisi 3.1 b)

Apr 28th, 2015
201
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.43 KB | None | 0 0
  1. .text
  2. .globl __start
  3. __start:
  4. read_num: li $v0,5
  5. syscall #read number
  6. move $t0,$v0
  7.  
  8. print_endl1: la $a0,endl #newline
  9. li $v0,4
  10. syscall
  11.  
  12. load_divs: li $s0,2
  13. li $s1,3
  14. li $s2,5
  15.  
  16. div2: div $t0,$s0
  17. store_remainder_div2: mfhi $t1 #storing the remainder to
  18. if_Not_div2_avoid_message: bne $t1,$zero,div3
  19. if_div2_print_message: la $a0,by2
  20. li $v0,4
  21. syscall
  22. addi $t3,$t3,1
  23. print_endl2: la $a0,endl
  24. li $v0,4
  25. syscall
  26.  
  27. break1: jr $a3 #jump register
  28.  
  29. div3: div $t0,$s1
  30. store_remainder_div3: mfhi $t1 #storing the remainder to
  31. if_Not_div3_avoid_message: bne $t1,$zero,div5
  32. if_div3_print_message: la $a0,by3
  33. li $v0,4
  34. syscall
  35. addi $t3,$t3,1
  36.  
  37.  
  38. print_endl3: la $a0,endl
  39. li $v0,4
  40. syscall
  41.  
  42. break2: jr $a3
  43.  
  44. div5: div $t0,$s2
  45. store_remainder_div5: mfhi $t1 #storing the remainder to
  46. if_Not_div5_avoid_message: bne $t1,$zero,div3
  47. if_div5_print_message: la $a0,by5
  48. li $v0,4
  49. syscall
  50. addi $t3,$t3,1
  51.  
  52. nothing: bne $t3,$zero,Exit
  53.  
  54. print_Not_divi_by2_3_5: la $a0,noth
  55. li $v0,4
  56. syscall
  57. Exit: li $v0,10
  58. syscall
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66. .data
  67. by2: .asciiz "Divided by 2"
  68. by3: .asciiz "Divided by 3"
  69. endl: .asciiz "\n"
  70. by5: .asciiz "Divided by 5"
  71. noth: .asciiz "It is not divided by any of the 2,3,5 "
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement