La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Lenguaje ensamblador Resumen en diapositivas

Presentaciones similares


Presentación del tema: "Lenguaje ensamblador Resumen en diapositivas"— Transcripción de la presentación:

1 Lenguaje ensamblador Resumen en diapositivas
Flavio A. Claussell Albornoz Berenice Camara Vazquez

2 ¿Qué es el lenguaje ensamblador?
Un lenguaje ensamblador puro es un lenguaje en el que cada enunciado produce exactamente una instrucción de maquina. En otras palabras, existe una correspondencia uno a uno entre las instrucciones de maquina y los enunciados del programa en ensamblador. Ejemplo: Programa ensamblador programa en lenguaje maquina N lineas N palabras

3 introducción Los traductores se dividen en dos grupos dependiendo de la relación entre el lenguaje fuente y el lenguaje objetivo. Lenguaje fuente esencial con una representación simbólica de un lenguaje de maquina numérico: El traductor se llama ensamblador y el lenguaje fuente lenguaje ensamblador Lenguaje fuente con de alto nivel (Java o C) con una representación de maquina numérico: El traductor se llama compilador.

4 De preferencias… La programación en lenguaje ensamblador es en la practica, mas fácil a comparación del lenguaje maquina(hexadecimal). Esto es debido al uso de nombres simbólicos y direcciones simbólicas en lugar de direcciones binarias u octales , esto marca una gran diferencia. La mayoría de nosotros podemos recordad mas fácilmente las abreviaturas para sumar, restar , multiplicar y dividir; ADD, SUB, MUL Y DIV El programador solo debe recordar nombres simbólicos porque el ensamblador los traduce a instrucciones maquina. Una diferencia importante es que el lenguaje ensamblador solo puede ejecutarse en una familia de maquinas. Mientras que un lenguaje de alto nivel puede ejecutarse en muchas maquinas.

5 1 para ensamblador 0 para lenguaje maquina
Otra propiedad de los lenguajes ensamblador además de la correspondencia uno a uno, es que el programador: Tiene acceso a todas las características e instrucciones de disponibles en la maquina objetivo. El programador en lenguaje de alto nivel NO. Ejemplo: Si una maquina tiene un bit de desbordamiento, un programa en l. ensamblador puede probarlo, un programa en java NO puede hacerlo directamente. Todo lo que puede hacerse en lenguaje de maquina puede hacerse en lenguaje ensamblador, pero muchas instrucciones, registros y características similares no están disponibles para el programador en lenguaje de alto nivel.

6 C un hibrido! Los lenguajes para programación de sistemas como C suelen ser un hibrido entre estos 2 tipos. Contienen la sintaxis de alto nivel pero con una buena parte del acceso a la maquina que un lenguaje ensamblador.

7 Porque usar lenguaje ensamblador?
Desempeño Acceso a la maquina Se usa en: Código de una tarjeta inteligente Código de un teléfono celular Controladores de dispositivos La rutina del BIOS Ciclos interiores de aplicaciones Debido a que este tipo de casos demanda cualquiera de los 2 puntos con efectividad. No es para debiles ni cobardes. Toma mucho mas tiempo en escribir el programa y tambien tarda mucho mas en depurarse y es mucho mas dificil de mantenerse.

8 Porque usar lenguaje ensamblador?
Podría usarse una estrategia mixta con los dos lenguajes lo cual ayudaría a reducir tiempo de ejecución al implementarse la parte critica del programa(la mas pequeña, pero mas tardada) en lenguaje ensamblador. A lo que llamamos «afinación» Hay por lo menos otras 4 razones por las cuales estudiar lenguaje ensamblador. El éxito o fracaso de un proyecto podría depender de la capacidad para exprimir algún procedimiento hasta mejorar su desempeño El código ensamblador a veces es la única alternativa debido a la escases de memoria Un compilador debe producir salidas que un ensamblador pueda usar o bien realizar el proceso de ensamblado el mismo. El estudio del lenguaje ensamblador pone al descubierto la maquina real.

9 Enunciados en lenguaje ensamblador
Cuentan con 4 partes: Campo de etiqueta Campo de operación (código de operación) Campo de operandos Campo de comentarios

10 Seudoinstrucciones Son comandos para el ensamblador y suelen ser llamados Seudoinstrtucciones o abecés Directrices de ensamblador . Un ejemplo seria, pedirle que asigne espacio en la memoria o que saque una nueva pagina de listado, en la figura anterior se muestran ejemplos.

11 seudoinstrucciones Algunas Seudoinstrucciones:
SEGMENT: inicia un nuevo segmento ENDS: termina un segmento ALIGN: siguiente línea se coloque en una dirección que sea un múltiplo de su argumento. Ej. 61 bytes ALIGN 4 = 64( dirección asignada) EQU: asignar nombre simbólico a una expresión. Ej, «BASE EQU 1000» pudiéndose usar en cualquier punto, BASE en lugar de 1000 ENDM: delimitan una función de macro

12 Seudoinstrucciones PAGE: controla el listado que el ensamblador puede producir si se solicita. END: marca el final del programa. PUBLIC y EXTERN: controlan la visibilidad de los símbolos INCLUDE: hace que el ensamblador traiga otro archivo y lo incluya entero dentro del archivo actual COMMENT: cambia el delimitador de comentarios a algo distinto del «. Y ,»

13 QUE ES EL MACROS? Es una solución fácil y eficiente al problema de necesitar repetidamente la misma o casi la misma secuencia de instrucciones. Es una abreviatura para un fragmento de texto. Una vez que se defina una macro ,el programador puede escribir el nombre de la macro en lugar del fragmento de programa.

14 Definición, llamada y expansión de macros
Lenguaje ensamblador para Pentium II: (intercambia dos veces el contenido de las variables p & q) MOV EAX ,P MOV EBX, Q MOV Q, EAX MOV P , EBX

15 PARTES BASICAS EN UNA DEFINICION DE MACRO:
1.UNA CABECERA DE MACRO (da el nombre de la macro que esa definido) 2.EL TEXTO QUE CONSTITUYE EL CUERPO DE LA MACRO 3.UNA SEUDO INSTRUCCIÓN QUE MARCA EL FINAL DE LA DEFINICION (EDM)

16 LA EXPANSIÓN DE MACRO SE EFECTUA DURANTE EL PROCESO DE ENSAMBLADO Y NO DURANTE LA EJECUCION DEL PROGRAMA. LLAMADA MACRO: Es una instrucción dirigida a ensamblador para que sustituya el nombre de la macro por el cuerpo de la misma

17 LLAMADA A PROCEDIMIENTO:
Es una instrucción de maquina que se inserta en el programa objeto y que después se ejecutara para llamar al procedimiento.

18 MACROS CON PARAMETROS Cuando una macro se expande, cada parámetro formal que aparece en el cuerpo de la macro es sustituido por el parámetro real correspondiente.

19 CARACTERISTICAS Duplicación de etiquetas
Si la macro se llama dos o mas veces, la etiqueta se duplicara y causara un error de ensamblador. Las macros pueden llamar a otras macros, incluidas ellas mismas. Si una macro es recursiva debera pasarse a si misma un parametro que se modificara en cada expansión y debera terminar cuando llegue a cierto valor.

20 IMPLEMENTACIÓN UN ENSAMBLADOR DEBE REALIZAR 2 FUNCIONES:
GUARDAR DEFINICIONES DE MACROS(debe tener una tabla de todos los nombres de macros) EXPANDIR LLAMADAS DE MACROS Nota: cuando se invoca una macro ,el ensamblador suspende temporalmente la lectura del dispositivo de entrada y comienza a leer del cuerpo almacenado de la macro. La presencia de un “&” antes de los parámetros formales permite al ensamblador reconocerlos fácilmente.


Descargar ppt "Lenguaje ensamblador Resumen en diapositivas"

Presentaciones similares


Anuncios Google