MOV

Mover valor en memoria

Sintaxis

MOV <SRC>, <DST>

pudiendo ser:

  • SRC una variable o una dirección de memoria (0x00 - 0x7F)
  • DST una variable o una dirección de memoria (0x00 - 0x7F)

Existen diferentes caminos:

Mover un valor de un lugar de memoria a otro lugar de memoria (utilizando variables)

Dado la siguiente sección de datos:

.data dw dato 0 dw out 0

Podemos mover el valor de dato a out de la siguiente manera:

.ver 1 .data dw dato 0 dw out 0 .code MOV dato, out

Microprograma

ESTADOMICRO-OPERACIÓN
S0RI ᐊ (PC), PC ᐊ PC + 1
S1DECODE
S2B ᐊ (F)
S10(D) ᐊ B

Mover un valor de un lugar de memoria a otro lugar de memoria (utilizando direcciones)

Dado la siguiente sección de datos:

.data dw dato 0xF dw out 0

Dado que al no especificar donde empezará la seccion de .data se empezará a asignar direcciones después de hacerlo con el código. Dado que el código ocupará un hueco de memoria (16 bits) + un hueco de separación (0x00), se empezará a asignar direcciones a partir de la dirección 0x02, tal que:

DirecciónValor
0x02dato
0x03out

Podemos mover el valor de dato a out de la siguiente manera:

.ver 1 .data dw dato 0xF dw out 0 .fin end .code MOV 0x02, 0x03 end:

Microprograma

ESTADOMICRO-OPERACIÓN
S0RI ᐊ (PC), PC ᐊ PC + 1
S1DECODE
S2B ᐊ (F)
S10(D) ᐊ B

Comprueba tus conocimientos

Crea un programa que mueva el valor 0x0F a la dirección 0x50