Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .data
- CONTROL: .word32 0x10000
- DATA: .word32 0x10008
- msj: .asciiz "Ingrese una coordenada para X"
- msj2: .asciiz "Ingrese una coordenada para Y"
- error: .asciiz "Ingrese nuevamente la coordenada"
- coorX: .byte 0
- coorY: .byte 0
- color: .byte 0, 0, 0, 0
- .code
- lwu $s0,DATA($0)
- lwu $s1,CONTROL($0)
- daddi $t0,$0,6
- sd $t0,0($s1) ;limpio la pantalla de texto
- loop: daddi $t0,$0,msj
- sd $t0,0($s0) ;cargo el mensaje
- daddi $t0,$0,4
- sd $t0,0($s1);imprimo mensaje
- daddi $t0,$0,8
- sd $t0,0($s1) ;leo
- lbu $t2,0($s0) ; tengo el numero en $t2
- daddi $t0,r0,msj2
- sd $t0,0($s0) ;cargo la direccion para leerla
- daddi $t0,r0,4
- sd $t0,0($s1);imprimo mensaje
- lwu $a0, 0($s0)
- daddi $t0,r0,8
- sb $t0,0($s1) ;leo
- lbu $t1,0($s0)
- lwu $a1, 0($s0) ; los guardo para pasarlos a las subrutinas
- jal verificar
- bnez $v0, cont
- daddi $t0,$0,error
- sd $t0,0($s0) ;cargo el mensaje de error
- daddi $t0,$0,4
- sd $t0,0($s1);imprimo mensaje
- j loop
- cont: sb $t2,5($s0) ;guardo en DATA+5 el valor leido ACA!!
- sb $t1,4($s0) ;guardo en DATA+4 el valor leido
- lwu $s2,color(r0)
- sw $s2,0($s0)
- daddi $t0,r0,6
- sd $t0,0($s1) ;lmpio la pantalla de texto
- daddi $t0,r0,5
- sd $t0,0($s1) ;ordeno imprimir grafica
- halt
- ; slt rd, rf, rg Compara rf con rg, dejando rd=1 si rf es menor que rg (valores con signo)
- verificar: daddi $v0, $0, 0
- daddi $t4, $t0, 25
- slti $v0, $a0, 50 ; si vale 1 la de x es menor que 50
- beqz $v0,mal
- slt $v0, $a0, $t4
- beqz $v0,mal
- slti $v0, $a1, 50 ; si vale 0 la de y es menor que 50
- beqz $v0, mal
- slt $v0, $a1, $t4
- mal: jr $ra
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement