miércoles, 18 de mayo de 2016

sintaxis del lenguaje ensambldor

La sintaxis del lenguaje ensamblador
Nombre de la instrucción Operando 1, Operando 2, Operando 3, Operando 4, ...
El nombre de la instrucción está formada por 2 o 3 letras, los operandos pueden ser registros, constantes o direcciones de memoria. La cantidad de operandos dependerá de la instrucción.
Por ejemplo:
MOV AL, [1000]
Esta instrucción indica que se copie el valor de la porción de la memoria que esté en la ubicación 1000 (En hexadecimal) a la parte baja del registro AX (AL). Cuando un operando es un valor de una dirección de memoria, ésta dirección 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 interpretarán como hexadecimales, en los siguientes ejemplos se interpretará que las constantes son números hexadecimales.

Instrucciones básicas:
La CPU x86 tiene 14 registros internos y básicos. Algunos son realmente de 32 bits pero por ahora se utilizará el modo real que es compatible con el procesador 8086 (igualmente accesibles a la parte alta de éstos registros, inclusive en el modo real). Los registros son los siguientes (estos registros son de 16 bits nombrados de la siguiente manera, a excepción del registro de banderas).
Registros de uso general
·         AX: Acumulador (AL:AH)
·         BX: Registro base (BL:BH)
·         CX: Registro contador (CL:CH)
·         DX: Registro de datos (DL:DH)
Registros de segmento (Solo se pueden usar para los usos mencionados a excepción de ES)
·         DS: Registro del segmento de datos
·         ES: Registro del segmento extra
·         SS: Registro del segmento de pila
·         CS: Registro del segmento de código
Registros punteros (También pueden tener uso general)
·         BP: Registro de apuntadores base
·         SI: Registro índice fuente
·         DI: Registro ìndice destino
Registros especiales (Solo se pueden usar para los usos mencionados)
·         SP: Registro apuntador de la pila
·         IP: Registro apuntador de la siguiente instrucción
·         F: Registro de banderas (8 bits)
La parte baja del registro AX se llama AL y la parte alta AH. La parte baja del registro BX se llama BL y la parte alta BH, y también ocurre lo mismo con el registro CX y DX.
Bits del registro de banderas
Overflow
·         NV (Apagado): No hay desbordamiento
·         OV (Encendido): Si lo hay
Direction
·         UP: Hacia adelante
·         DN: Hacia atras
Interrupts
·         DI: Desactivadas
·         EI: Activadas
Sign
·         PL: Positivo
·         NG: Negativo
Zero
·         NZ: No es cero
·         ZR: Si lo es
Auxilary carry
·         NA: No hay acarreo auxiliar
·         AC: Hay acarreo auxiliar
Parity
·         PO: Impar
·         PE: Paridad par
Carry
·         NC: No hay acarreo
·         CY: Si lo hay


No hay comentarios:

Publicar un comentario