PIXEL_MIPS_MARS
Páginas: 2 (353 palabras)
Publicado: 15 de mayo de 2013
.data
dirmemoria: .word 0x10040000
ancho: .word 64
cordX: .asciiz "Introducir la coordenadaX: " # 0 - 63
cordY: .asciiz "Introducir la coordenada Y: " # 0 - 63
mensaje1: .asciiz "Cordenada fuera de rango"
color: .asciiz "Introducir el valor del color: "
mensaje2:.asciiz "Error fuera de rango"
.text
posX:
li $v0, 51 # cargo el codigo de la llamada
la $a0, cordX # cargo el texto correspondiente
syscall # realizar llamada
bltz $a0,error1# salto si hay error por introducir numero negativo
bge $a0, 64, error1 # salto si hay error por introducir numero fuera de rango
move $s0, $a0 # salvo el valor introcucido.
## add $t0,$zero,$a0
posY:
li $v0, 51 # Cargo el codigo de la llamada
la $a0, cordY
syscall
bltz $a0,error2 # salto si hay error por introducir numero negativo
bge $a0, 64, error2 # salto sihay error por introducir numero fuera de rango
move $s1, $a0
##add $t1, $zero,$a0
Color:
li $v0,51
la $a0,color
syscall
bltz $a0,error3 #salto si hay error por numero negativo
bge $a0,0xFFFFFF,error3 # salto si el valor introducido es mayor a 0xFFFFFF
move $s2,$a0 # salvo el valor introducido
move $a0,$s0# a0 contiene la coordenada X del pixel
move $a1,$s1 # a2 contiene la coordenada Y del pixel
move $a2,$s2 # a3 contiene el color del pixel
jal Setpixel
fin:
li$v0, 10 # llamada a syscall para finalizar (EXIT)
syscall
##################################################################################################################
#Subrutina error
error1:
li $v0, 55 # LLamada para mensaje de error
li $a1, 0 # argumento del msj
la $a0, mensaje1
syscall
j posX # retorna PosX
error2:
li $v0, 55 #...
Leer documento completo
Regístrate para leer el documento completo.