Ensamblador, cargar un caracter en una variable

varuk

Hola.

Tengo este código:

.data
p: .space 8
...

.text
la $v0, p # Carga la dirección de p

Bien, pues yo quiero hacer justo lo contrario, cargar en "p" lo que haya en $v0 (porque en $v0 hay recogido un cáracter que el usuario ha introducido por teclado y ahora lo quiero pasar a la variable p, para usarla en el programa)

.data
p: .space 8
...

.text
¿¿?? p, $v0

Muchas gracias.

Mogac

Si he entendido bien, en el registro $v0 esta el dato que se quiere guardar en p. Si es asi puedes cargar la direccion de p en otro registro y almacenarlo utilizando un direccionamiento indirecto a registro del siguiente modo:

.data
p: .space 8
...

.text
la $t0 p #Carga la dirección de memoria
sw $v0 ($t0) #Almacena el valor de $v0 al comienzo del espacio reservado

Creo que con esto debería funcionarte.

varuk

Mmmmm, yo lo que quiero es guardar en P el valor de un caracter para luego usar P en el programa.

Imagina que tienes un juego que el usuario puede configurar las teclas ¿no? El juego se maneja con dos teclas. Entonces necesito dos variables donde el usuario almacene las teclas para luego usar esas variables durante el programa.

dagavi

Por curiosidad, ¿que ensamblador es este?

1 respuesta
varuk
.data
p:	.byte 'a'
...

.text
sw $v0, p

Lo hice así al final.

#4 MIPS (MARS)

1

Usuarios habituales

  • varuk
  • dagavi
  • Mogac