Advertisement
Mercedes

MR16

Jul 10th, 2014
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.21 KB | None | 0 0
  1. .data
  2. CONTROL: .word32 0x10000
  3. DATA: .word32 0x10008
  4. msj: .asciiz "Ingrese una coordenada para X"
  5. msj2: .asciiz "Ingrese una coordenada para Y"
  6. error: .asciiz "Ingrese nuevamente la coordenada"
  7. coorX: .byte 0
  8. coorY: .byte 0
  9. color: .byte 0, 0, 0, 0
  10.  
  11. .code
  12. lwu $s0,DATA($0)
  13. lwu $s1,CONTROL($0)
  14.  
  15. daddi $t0,$0,6
  16. sd $t0,0($s1) ;limpio la pantalla de texto
  17.  
  18. loop: daddi $t0,$0,msj
  19. sd $t0,0($s0) ;cargo el mensaje
  20. daddi $t0,$0,4
  21. sd $t0,0($s1);imprimo mensaje
  22.  
  23. daddi $t0,$0,8
  24. sd $t0,0($s1) ;leo
  25. lwu $a0, 0($s0)
  26.  
  27.  
  28.  
  29. daddi $t0,r0,msj2
  30. sd $t0,0($s0) ;cargo la direccion para leerla
  31. daddi $t0,r0,4
  32. sd $t0,0($s1);imprimo mensaje
  33.  
  34.  
  35.  
  36. daddi $t0,r0,8
  37. sb $t0,0($s1) ;leo
  38. lwu $a1, 0($s0) ; los guardo para pasarlos a las subrutinas
  39.  
  40. jal verificar
  41. bnez $v0, cont
  42.  
  43. daddi $t0,$0,error
  44. sd $t0,0($s0) ;cargo el mensaje de error
  45. daddi $t0,$0,4
  46. sd $t0,0($s1);imprimo mensaje
  47.  
  48. j loop
  49.  
  50.  
  51. cont: sb $t2,5($s0) ;guardo en DATA+5 el valor leido ACA!!
  52. sb $t1,4($s0) ;guardo en DATA+4 el valor leido
  53.  
  54. lwu $s2,color(r0)
  55. sw $s2,0($s0)
  56.  
  57. daddi $t0,r0,6
  58. sd $t0,0($s1) ;lmpio la pantalla de texto
  59.  
  60. daddi $t0,r0,5
  61. sd $t0,0($s1) ;ordeno imprimir grafica
  62.  
  63. halt
  64.  
  65. ; slt rd, rf, rg Compara rf con rg, dejando rd=1 si rf es menor que rg (valores con signo)
  66.  
  67. ; bne rd, rf, offN Si rd no es igual a rf, salta a la dirección rotulada offN
  68.  
  69. verificar: daddi $v0, $0, 0
  70. daddi $t4, $0, 25
  71. daddi $t5, $0, 1
  72. slti $v0, $a0, 50 ; si vale 1 la de x es menor que 50
  73. bne $v0, $t5, mal
  74. slt $v0, $a0, $t4
  75. bne $v0, $t5, mal
  76. slti $v0, $a1, 50 ; si vale 0 la de y es menor que 50
  77. bne $v0, $t5, mal
  78. slt $v0, $a1, $t4
  79. mal: jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement