Lenguaje Ensamblador

Páginas: 10 (2267 palabras) Publicado: 15 de octubre de 2011
LENGUAJE ENSAMBLADOR
UNIDAD II
2.1 Instrucciones Lineales…………………………………………………………………………………………

2.1.1 Movimiento Lenguaje Ensamblador…………………………………………………………………….

2.1.2 Pila Lenguaje Ensamblador……………………………………………………………………………….

2.1.3 Matemáticos Lenguaje Ensamblador……………………………………………………………………

2.1.4 Ajustes Lenguaje Ensamblador……………………………………………………………………………

2.1.5 Comparación LenguajeEnsamblador……………………………………………………………………

2.2 Saltos Incondicional Lenguaje Ensamblador…………………………………………………………….

2.2.2 Saltos Condicional Lenguaje Ensamblador…………………………………………………………….
INTRODUCCION ALOS ELEMENTOS DE LENGUAJE ENSAMBLADOR



2.1 Instrucciones Lineales
2.1.1 Movimiento Lenguaje Ensamblador
MOV (transferencia).
Sintaxis: MOV destino, origen

La instrucción de transferencia dedatos por excelencia es MOV. Transfiere datos de longitud byte o palabra del operando origen al operando destino. Pueden ser operando origen y operando destino cualquier registro o posición de memoria direccionada de las formas ya vistas, con la única condición de que origen y destino tengan la misma dimensión.
Con la instrucción MOV diremos que se pueden realizar todo tipo de movimientosteniendo en cuenta las siguientes restricciones:

1. No se puede realizar una transferencia de datos entre dos posiciones de memoria directamente.
Por ejemplo, para hacer la operación
DATO1 ← DATO2
La instrucción MOV DATO2, DATO1 sería incorrecta. Lo que sí sería correcto sería utilizar el registro DX, u otro, como puente y hacer:
MOV DX, DATO1
MOV DATO2, DX
2. Tampoco se puede hacer unatransferencia directa entre dos registros de segmento. Por eso, como en el caso anterior, si fuera preciso se utilizaría un registro como puente.

3. Asimismo, tampoco se puede cargar en los registros de segmento un dato utilizando direccionamiento inmediato, es decir, una constante, por lo que también habrá que recurrir a un registro puente cuando sea preciso.
XCHG (intercambiar).

Sintaxis: XCHGdestino, origen

Una instrucción útil pero no imprescindible es XCHG. Intercambia el contenido de los operandos origen y destino. No pueden utilizarse registros de segmentos como operandos
Por ejemplo, si queremos intercambiar los contenidos de los registros AX y BX, podemos hacer:
MOV AUX, AX
MOV AX, BX
MOV BX, AUX
En donde AUX es una variable auxiliar que hace de puente, o simplementeutilizar:
XCHG AX, BX
XLAT (traducción).
Sintaxis: XLAT tabla
La instrucción XLAT tabla carga en el registro AL el contenido de la posición [BX][AL], en donde el registro BX ha de apuntar al comienzo de una tabla. Dicho de otra manera, AL hace de índice de la tabla y de almacén destino del contenido de la tabla.

Por ejemplo, el siguiente programa:

DATOS SEGMENT
TABLA DB 2, 3, 5, 8, 16, 23DATOS ENDS

CODIGO SEGMENT
MOVE BX, OFFSET TABLA ;Inicializa BX con la dirección donde comienza la tabla
MOVE AL, 5
XLAT TABLA
CODIGO ENDS
Hace que al final el contenido de AL sea 16 ya que es el quinto elemento de la tabla y AL antes de XLAT TABLA contenía el valor 5.
LEA (carga dirección efectiva).

Sintaxis: LEA destino, origen
Transfiere el desplazamiento del operando fuente aloperando destino. Otras instrucciones pueden a continuación utilizar el registro como desplazamiento para acceder a los datos que constituyen el objetivo. El operando destino no puede ser un registro de segmento. En general, esta instrucción es equivalente a MOV destino, OFFSET fuente y de hecho los buenos ensambladores (TASM) la codifican como MOV para economizar un byte de memoria. Sin embargo, LEAes en algunos casos más potente que MOV al permitir indicar registros de índice y desplazamiento para calcular el offset:
LEA DX, DATOS [SI]

En el ejemplo de arriba, el valor depositado en DX es el OFFSET de la etiqueta DATOS más el registro SI. Esa sola instrucción es equivalente a estas dos:

MOV DX, OFFSET DATOS
ADD DX, SI
INSTRUCCIONES DE ENTRADA SALIDA (E/S).

IN (entrada)....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Lenguaje Ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Lenguaje ensamblador
  • Qué es el lenguaje ensamblador

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS