La Instrucción MOV en Ensamblador x86 (8086/8088): Sintaxis, Operandos y Ejemplos

Transferencia de Datos Fundamental

La instrucción MOV copia datos de un origen a un destino sin alterar el origen. Es el trabajo principal de la programación en 8086/8088.

Sintaxis

MOV destination, source

Combinaciones de Operandos Válidas

DestinoOrigenEjemplo
RegistroRegistroMOV AX, BX
RegistroInmediatoMOV CL, 10h
RegistroMemoriaMOV DX, [SI]
MemoriaRegistroMOV [BX+DI], AL
MemoriaInmediatoMOV WORD PTR [0x1000], 1234h
Registro de SegmentoRegistro/MemoriaMOV DS, AX

Restricciones

  • No se permiten movimientos directos de memoria a memoria (usar un registro intermedio).
  • No se puede mover un inmediato directamente a un registro de segmento (usar un registro de propósito general).
  • CS (Segmento de Código) no puede ser un destino.

Ejemplos Comunes

; Registro a registro MOV AL, BL ; Inmediato a registro MOV CX, 256 ; Registro a memoria (anulación de segmento) MOV ES:[DI], AX ; Memoria a registro (base+offset) MOV BX, [BP+4] ; Cargar registro de segmento MOV DS, AX

MOV no afecta las banderas. Es esencial para la asignación de variables, paso de parámetros y manipulación de memoria en programación en modo real de 16 bits.