Advertisement
Mercedes

caca completo

Jul 10th, 2014
213
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.16 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. lbu $t2,0($s0) ; tengo el numero en $t2
  26.  
  27.  
  28. daddi $t0,r0,msj2
  29. sd $t0,0($s0) ;cargo la direccion para leerla
  30. daddi $t0,r0,4
  31. sd $t0,0($s1);imprimo mensaje
  32.  
  33. lwu $a0, 0($s0)
  34.  
  35. daddi $t0,r0,8
  36. sb $t0,0($s1) ;leo
  37. lbu $t1,0($s0)
  38.  
  39.  
  40. lwu $a1, 0($s0) ; los guardo para pasarlos a las subrutinas
  41.  
  42. jal verificar
  43. bnez $v0, cont
  44.  
  45. daddi $t0,$0,error
  46. sd $t0,0($s0) ;cargo el mensaje de error
  47. daddi $t0,$0,4
  48. sd $t0,0($s1);imprimo mensaje
  49.  
  50. j loop
  51.  
  52.  
  53. cont: sb $t2,5($s0) ;guardo en DATA+5 el valor leido ACA!!
  54. sb $t1,4($s0) ;guardo en DATA+4 el valor leido
  55.  
  56. lwu $s2,color(r0)
  57. sw $s2,0($s0)
  58.  
  59. daddi $t0,r0,6
  60. sd $t0,0($s1) ;lmpio la pantalla de texto
  61.  
  62. daddi $t0,r0,5
  63. sd $t0,0($s1) ;ordeno imprimir grafica
  64.  
  65. halt
  66.  
  67. ; slt rd, rf, rg Compara rf con rg, dejando rd=1 si rf es menor que rg (valores con signo)
  68.  
  69. verificar: daddi $v0, $0, 0
  70. daddi $t4, $t0, 25
  71. slti $v0, $a0, 50 ; si vale 1 la de x es menor que 50
  72. beqz $v0,mal
  73. slt $v0, $a0, $t4
  74. beqz $v0,mal
  75. slti $v0, $a1, 50 ; si vale 0 la de y es menor que 50
  76. beqz $v0, mal
  77. slt $v0, $a1, $t4
  78. mal: jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement