Year 2 compilers coureswork

wew.asm 563B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. li $a0, 68
  2. li $v0, 9
  3. syscall
  4. or $fp, $0, $v0
  5. la $t0, main
  6. sw $t0, 0($fp)
  7. sw $0, 4($fp)
  8. jal main
  9. j done
  10. return_five:
  11. li $a0, 68
  12. li $v0, 9
  13. syscall
  14. sw $fp, 4($v0)
  15. or $fp, $0, $v0
  16. la $t0, return_five
  17. sw $t0, 0($fp)
  18. sw $ra, 64($fp)
  19. li $8, 5
  20. or $v1, $0, $8
  21. jr $31
  22. main:
  23. li $a0, 68
  24. li $v0, 9
  25. syscall
  26. sw $fp, 4($v0)
  27. or $fp, $0, $v0
  28. la $t0, main
  29. sw $t0, 0($fp)
  30. sw $ra, 64($fp)
  31. jal return_five
  32. lw $fp, 4($fp)
  33. lw $ra, 64($fp)
  34. or $9, $0, $v1
  35. jal return_five
  36. lw $fp, 4($fp)
  37. lw $ra, 64($fp)
  38. or $10, $0, $v1
  39. add $11, $9, $10
  40. or $v1, $0, $11
  41. jr $31
  42. done:
  43. ori $v0, $0, 10
  44. syscall