Advertisement
Guest User

Calcolatrice.s

a guest
Apr 15th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ADD1: add $v0, $a0, $a1
  2.       jr $ra
  3. SUB1: sub $v0, $a0, $a1
  4.       jr $ra
  5. PRO1: mul $v0, $a0, $a1
  6.       jr $ra
  7. DIV1: div $v0, $a0, $a1
  8.       jr $ra
  9.     .data
  10. Addn: .asciiz "1. Addizione\n"
  11. Subn: .asciiz "2. Sottrazione\n"
  12. Prot: .asciiz "3. Moltiplicazione\n"
  13. Divn: .asciiz "4. Divisione\n"
  14. null: .asciiz "Valore non valido\n"
  15. numeri: .word 1, 2, 3, 4
  16.    
  17.     .text
  18.     .globl main
  19. main:
  20.     li $v0, 4
  21.     la $a0, Addn
  22.     syscall
  23.    
  24.     li $v0, 4
  25.     la $a0, Subn
  26.     syscall
  27.    
  28.     li $v0, 4
  29.     la $a0, Prot
  30.     syscall
  31.    
  32.     li $v0, 4
  33.     la $a0, Divn
  34.     syscall
  35.    
  36.     la $s0, numeri
  37.     lw $s1, 0($s0)
  38.     lw $s2, 4($s0)
  39.     lw $s3, 8($s0)
  40.     lw $s4, 12($s0)
  41.    
  42.     j LOAD
  43.    
  44. LOAD:
  45.       li $v0, 5
  46.       syscall
  47.       move $t4, $v0
  48.       move $s5, $t4
  49.    
  50.       li $v0, 5
  51.       syscall
  52.       move $t5, $v0
  53.       move $s5, $t5
  54.      
  55.       li $v0, 5
  56.       syscall
  57.       move $t6, $v0
  58.       move $s6, $t6
  59.      
  60.       j ADD
  61.    
  62. ADD: beq $s5, $s1, SUB
  63.      jal ADD1
  64.      
  65. SUB: beq $s5, $s2, PRO
  66.      jal SUB1
  67.  
  68. PRO: beq $s5, $s3, DIV
  69.      jal PRO1
  70.  
  71. DIV: beq $s5, $s4, END
  72.      jal DIV1
  73.  
  74. END: li $v0, 4
  75.      la $a0, null
  76.      j LOAD
  77.      
  78.     move $t1, $v0
  79.     move $a0, $t1
  80.     li $v0, 1
  81.     syscall
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement