Vous êtes sur la page 1sur 3

La sintaxis es la siguiente

Nombre de la instruccin Operando 1, Operando 2, Operando 3, Operando 4, ...


El nombre de la instruccin est formada por 2 o 3 letras, los operandos pueden ser registros,
constantes o direcciones de memoria. La cantidad de operandos depender de la instruccin.
Por ejemplo:
MOV AL, [1000]
Esta instruccin indica que se copie el valor de la porcin de la memoria que est en la ubicacin
1000 (En hexadecimal) a la parte baja del registro AX (AL). Cuando un operando es un valor de
una direccin de memoria, sta direccin se escribe entre corchetes, recordar que el operando 1 es
el destino y el operando 2 es el origen. Y cuando es una constante depender del ensamblador, en
el caso del debug (Un programa que sirve para crear y editar aplicaciones que viene con el DOS)
se interpretarn como hexadecimales, en los siguientes ejemplos se interpretar que las
constantes son nmeros hexadecimales.
Tambin se puede tomar un valor de la memoria apuntado por un registro, por ejemplo:
MOV AL, [DI]
DI est apuntado al valor que est en la memoria que ser copiado al registro AL. El nombre MOV
viene de la palabra move, que es una palabra del ingles que significa mover. Justamente la
instruccin mencionada significa, mover el valor apuntado por DI a AL.
Tambin se puede copiar el valor de un registro a otro
MOV AL, BL
En este caso se copia el valor de BL a AL
Igualmente se puede copiar el valor de la parte baja de un registro a la parte alta de otro registro
MOV CH, DL
As como tambin operar con las partes altas
MOV AH, DH

Inclusive se puede copiar el valor de un registro a una direccin de memoria


MOV [1000], AL
Igualmente apuntada la direccin de memoria a DI
MOV [DI], AL
Y tambin con los registros completos (Solamente completos en el procesador 8086)
MOV AX, DX
Tambin trabajar con los registros completos para todos los procesadores de 32 bits
MOV EBX, EDX
En ste caso mueve la totalidad del registro DX a la totalidad del registro BX, en ste caso se est
trabajando con los registros en forma extendida (32 bits), pero hay que tener precaucin ya que el
procesador 8086 no interpretar correctamente sta instruccin (El procesador 8086 es obsoleto
por sta desventaja y otras ms, por ejemplo slo puede direccionar 1 MB), adems el debug no
puede interpretar sta instruccin.
No se puede realizar lo siguiente porque no se pueden pasar valores en la memoria sin la
intervencin de un registro, adems no se ha especificado el tamao
MOV [1000], [2000]
Igualmente no se puede hacer lo siguiente
MOV [DI], [1000]
As como tambin lo siguiente
MOV [DI], [SI]
Sin embargo lo siguiente es correcto
MOV [1000], AX
Pero no lo siguiente porque no se est especificando el tamao

MOV [SI], 1F
Lo correcto sera lo siguiente
Si se quiere transferir un byte
MOV byte [SI], 1F
Si se quiere transferir una palabra (16 bits)
MOV word [SI], 1F
Si se quiere transferir una doble palabra (32 bits)
MOV dword [SI], 1F

Vous aimerez peut-être aussi