Diogom74

Untitled

Feb 3rd, 2023
122
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.75 KB | None | 0 0
  1. .data
  2. array: .word 2,10,3,4,5,-1,5
  3. txt: .asciiz "C:/Users/Diogo/OneDrive/Ambiente de Trabalho/Ficheiro MIPS/ficheiro.txt"
  4. Contagem: .asciiz "A contagem é: "
  5. Maior: .asciiz "\nO maior é: "
  6. Menor: .asciiz "\nO menor é: "
  7. Ficheiro: .asciiz "\nDeseja guardar num ficheiro?(X-Sim,N-Não) "
  8. Erro: .asciiz "\nErro (X-Sim,Y-Não)"
  9. teste: .asciiz "teste"
  10. Escolha: .space 200
  11. .text
  12. la $t0,array
  13. li $t1,0
  14. li $t4,1
  15. sub $t4,$t4,2
  16. loop1:
  17. lw $t2,0($t0)
  18. beq $t2,$t4,maior
  19. add $t1,$t1,1
  20. add $t0,$t0,4
  21. j loop1
  22.  
  23. maior:
  24. li $v0,4
  25. la $a0,Contagem
  26. syscall
  27. li $v0,1
  28. move $a0,$t1
  29. syscall
  30. la $t0,array
  31. li $t1,0
  32. li $t4,1
  33. sub $t4,$t4,2
  34. loop:
  35. lw $t2,0($t0)
  36. beq $t2,$t4,menor
  37. beq $t1,$zero,adicionar
  38. bgt $t2,$t3,guardar
  39. add $t0,$t0,4
  40. j loop
  41. adicionar:
  42. move $t3,$t2
  43. add $t1,$t1,1
  44. add $t0,$t0,4
  45. j loop
  46. guardar:
  47. move $t3,$t2
  48. add $t0,$t0,4
  49. j loop
  50.  
  51. menor:
  52. li $v0,4
  53. la $a0,Maior
  54. syscall
  55. li $v0,1
  56. move $a0,$t3
  57. syscall
  58. la $t0,array
  59. li $t1,0
  60. li $t4,1
  61. sub $t4,$t4,2
  62. loop2:
  63. lw $t2,0($t0)
  64. beq $t2,$t4,fim
  65. beq $t1,$zero,adicionar2
  66. blt $t2,$t3,guardar2
  67. add $t0,$t0,4
  68. j loop2
  69.  
  70. adicionar2:
  71. move $t3,$t2
  72. add $t1,$t1,1
  73. add $t0,$t0,4
  74. j loop2
  75.  
  76. guardar2:
  77. move $t3,$t2
  78. add $t0,$t0,4
  79. j loop2
  80.  
  81. fim:
  82. li $v0,4
  83. la $a0,Menor
  84. syscall
  85. li $v0,1
  86. move $a0,$t3
  87. syscall
  88.  
  89. volta:
  90. li $v0,4
  91. la $a0,Ficheiro
  92. syscall
  93. li $v0,8
  94. la $a0,Escolha
  95. li $a1,200
  96. syscall
  97. la $t6,Escolha
  98. lb $t7,0($t6)
  99. beq $t7,'X',sim
  100. beq $t7,'N',Não
  101. li $v0,4
  102. la $a0,Erro
  103. syscall
  104. j volta
  105.  
  106. sim:
  107. li $v0,13
  108. la $a0,txt
  109. li $a1,1
  110. li $a2,0
  111. syscall
  112. move $s1,$v0
  113. li $v0,15
  114. move $a0,$s1
  115. la $a1,Menor
  116. li $a2,200
  117. syscall
  118. li $v0,4
  119. la $a0,Menor
  120. syscall
  121. li $v0,15
  122. move $a0,$s1
  123. la $a1,0
  124. li $a2,0
  125. li $v0,16
  126. move $a0,$s0
  127. syscall
  128. li $v0,10
  129. syscall
  130.  
  131. Não:
  132. li $v0,10
  133. syscall
Add Comment
Please, Sign In to add comment