Advertisement
Guest User

Untitled

a guest
Mar 1st, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.25 KB | None | 0 0
  1. .data
  2. msg: .asciiz "Enter number: "
  3. fizz_str: .asciiz "Fizz\n"
  4. buzz_str: .asciiz "Buzz\n"
  5. fizzbuzz_str: .asciiz "Fizzbuzz\n"
  6. comma: .asciiz "\n"
  7. the_number_is: .asciiz "Counting all the way up: "
  8. .text
  9. .globl main
  10. main: sw $ra, ($sp)
  11. add $sp, -1
  12.  
  13. la $a0, 20
  14. jal fizzbuzz
  15.  
  16. add $sp, 1
  17. lw $ra, ($sp)
  18. jr $ra
  19.  
  20. fizzbuzz:
  21. move $t1, $a0
  22. li $t2, 0
  23.  
  24. li $t5, 5
  25. li $t3, 3
  26.  
  27. fb_start:
  28. add $t2, 1
  29.  
  30. div $t2, $t5
  31. mfhi $t6
  32. div $t2, $t3
  33. mfhi $t7
  34.  
  35. beq $t6, $zero, buzz
  36. beq $t7, $zero, fizz
  37.  
  38. li $v0, 1
  39. la $a0, ($t2)
  40. syscall
  41.  
  42. la $v0, 4
  43. la $a0, comma
  44. syscall
  45.  
  46. j check_break
  47. fizz:
  48. la $v0, 4
  49. la $a0, fizz_str
  50. syscall
  51. j check_break
  52.  
  53. buzz:
  54. beq $t7, $zero, fizz_and_buzz
  55. la $v0, 4
  56. la $a0, buzz_str
  57. syscall
  58. j check_break
  59.  
  60. fizz_and_buzz:
  61. la $v0, 4
  62. la $a0, fizzbuzz_str
  63. syscall
  64.  
  65. check_break:
  66. beq $t1, $t2, done_here
  67.  
  68. b fb_start
  69. done_here:
  70.  
  71. jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement