Download pdf - Sintaxis de Ensamblador

Transcript

La sintaxis es la siguienteNombre 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 otroMOV AL, BLEn este caso se copia el valor de BL a ALIgualmente se puede copiar el valor de la parte baja de un registro a la parte alta de otro registroMOV CH, DLAs como tambin operar con las partes altasMOV AH, DHInclusive se puede copiar el valor de un registro a una direccin de memoriaMOV [1000], ALIgualmente apuntada la direccin de memoria a DIMOV [DI], ALY tambin con los registros completos (Solamente completos en el procesador 8086)MOV AX, DXTambin trabajar con los registros completos para todos los procesadores de 32 bitsMOV EBX, EDXEn 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 tamaoMOV [1000], [2000]Igualmente no se puede hacer lo siguienteMOV [DI], [1000]As como tambin lo siguienteMOV [DI], [SI]Sin embargo lo siguiente es correctoMOV [1000], AXPero no lo siguiente porque no se est especificando el tamaoMOV [SI], 1FLo correcto sera lo siguienteSi se quiere transferir un byteMOV byte [SI], 1FSi se quiere transferir una palabra (16 bits)MOV word [SI], 1FSi se quiere transferir una doble palabra (32 bits)MOV dword [SI], 1F