Year 2 compilers coureswork

var_maths.asm 728B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. .globl __start
  2. __start:
  3. li $a0, 72
  4. li $v0, 9
  5. syscall
  6. or $fp, $0, $v0
  7. la $t0, main
  8. sw $t0, 0($fp)
  9. sw $0, 4($fp)
  10. jal main
  11. j done
  12. main:
  13. li $a0, 72
  14. li $v0, 9
  15. syscall
  16. sw $fp, 4($v0)
  17. or $fp, $0, $v0
  18. la $t0, main
  19. sw $t0, 0($fp)
  20. sw $ra, 64($fp)
  21. li $8, 5
  22. or $16, $0, $8
  23. li $10, 4
  24. sub $9, $16, $10
  25. or $17, $0, $9
  26. li $11, 10
  27. sub $12, $11, $16
  28. or $18, $0, $12
  29. div $16, $18
  30. mfhi $13
  31. or $19, $0, $13
  32. mult $16, $16
  33. mflo $14
  34. add $15, $19, $17
  35. div $18, $15
  36. mflo $24
  37. add $25, $14, $24
  38. sw $16, 8($fp)
  39. sw $17, 12($fp)
  40. sw $18, 16($fp)
  41. sw $19, 20($fp)
  42. sw $20, 24($fp)
  43. sw $21, 28($fp)
  44. sw $22, 32($fp)
  45. sw $23, 36($fp)
  46. or $v1, $0, $25
  47. jr $31
  48. done:
  49. or $a0, $v1, $0
  50. ori $v0, $0, 1
  51. syscall
  52. ori $a0, $0, 0xA
  53. ori $v0, $0, 0xB
  54. syscall
  55. ori $v0, $0, 10
  56. syscall