Ensamblador - Mover Dato a Memoria

 
Vista:

Mover Dato a Memoria

Publicado por Han Solito (2 intervenciones) el 03/01/2002 11:37:45
Hola, estoy empezando con ensamblador y me surgen varias dudas. Una de ellas es cómo se pasa un dato a una dirección de memoria.
Por ejemplo, yo quiero pasar el valor 10 a la dirección de memoria 100h.

Una vez que se ha guardado el valor en esa dirección de memoria, ¿como hago para asignar el valor de esa dirección (10) al registro CX?

Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Mover Dato a Memoria

Publicado por Googol (61 intervenciones) el 03/01/2002 18:52:57
Para meter el valor 10 en la posición 100 de memoria tienes que pasar por un registro. Es decir, no puedes asignar un valor determinado a una posición de memoria determinada, solo puedes asignarle a una posición de memoria el valor de un registro. A si es que si quieres poner en la posición 100h el valor 10, primero debes poner el 10 en un registro, y luego copiar el contenido de ese registro a la posicion de memoria:
mov ax, 10
mov [100h], ax

para recuperar el valor, usas la instrucción mov al contrario:

mov cx, [100h]

Piensa en la instrucción mov como una asignación:

mov <destino>, <origen>

o sea:
mov a,b --->>> a = b

Y se admiten o registros (ax, bx, cx...) o valores absolutos (solo en el origen, como el 10 de los ejemplos), o posiciones de memoria, entre corchetes. Como te he dicho, no todas las combinaciones están permitidas. Por ejemplo, no puede hacerse:

mov [100h], [200h]

Suerte!

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar