You are on page 1of 15

Ensayo 4

Ensayo unidad 4 Lenguaje de programacin en los procesadores.

Jos Ignacio Lpez Nava.

CC3221.

Organizacin de Computadoras.

Cdigo: 207691319. Tel. 322-175-87-55. Correo electrnico: varuchini_1022@hotmail.com Profesor: Miguel Lizcano Snchez

INDICE
INTRODUCCIN ........................................................................................................................................... 3
ENSAMBLADORES Y COMPILADORES .................................................................................................................... 4 Ensambladores ................................................................................................................................................. 4 Motivos para usar ensamblador ...................................................................................................................... 4 Motivos para no utilizar ................................................................................................................................... 4 Tipos de ensambladores. ................................................................................................................................. 5 Compiladores. .................................................................................................................................................. 5 CLASIFICACIN DE COMPILADORES DE UNA PASADA: .................................................................................... 6 MASM Y DEBUG. ................................................................................................................................................... 8 MASM. ............................................................................................................................................................. 8 DEBUG.............................................................................................................................................................. 8

PALABRAS RESERVADAS ............................................................................................................................ 9 OPERANDOS Y DIRECTIVAS. .................................................................................................................... 10


Operando ....................................................................................................................................................... 10 Directivas ....................................................................................................................................................... 10

LGICA Y CONTROL DE PROGRAMAS ..................................................................................................... 11


INTERRUPCIONES. ............................................................................................................................................... 12 Desarrollo de programas. .................................................................................................................................... 13

Conclusin. .............................................................................................................................................. 14 Referencias. ............................................................................................................................................. 15

3 INTRODUCCIN En esta ensayo se analizara el lenguaje de programacin de los microprocesadores en este caso ensamblador explicando lo que es as como el compilador sus diferencias e informacin de relevancia de ellos el MASM y DEBUG palabras reservadas del lenguaje ensamblador y el desarrollo de un programa en ensamblador entre otros .Todo lo que conlleva a programar el procesador que indica como operar al computador.

ENSAMBLADORES Y COMPILADORES

Ensambladores Ensamblador es un traductor; traduce un cdigo fuente escrito en un lenguaje ensamblador, cdigo mquina ejecutable directamente por la mquina para la que se ha generado.

Motivos para usar ensamblador Mayor control de la computadora. Independencia de lenguaje. La mayora de las computadoras pueden ensamblar. Los programas hechos en lenguaje ensamblador son generalmente ms rpidos y consumen menos recursos del sistema.

Motivos para no utilizar Demasiado complejo. Comprensin ms profunda de la computadora. Errores ms frecuentes en el programa. Mayor tiempo de codificacin. Difcilmente portable, es decir, un cdigo escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.

Tipos de ensambladores. CRUZADOS: Se denominan as a los ensambladores que se utilizan en una computadora que posee el procesador diferente al que tendrn las computadoras donde se va a ejecutar el programa objeto producido.

ENSAMBLADORES RESIDENTES: Son aquellas que permanecen en la memoria principal de la computadora y cargar para su ejecucin al programa objeto producido.

MICRO ENSAMBLADORES: Al programa que indica al intrprete de instrucciones de la CPU como debe actuar se le denomina microprograma. El programa que ayuda a realizar este microprograma se llama micro ensamblador. MACRO ENSAMBLADORES: Son ensambladores que permiten el uso de macroinstrucciones.

ENSAMBLADORES DE UNA FASE: leen una lnea y la traducen directamente para producir una instruccin de lenguaje maquina o la ejecuta si se trata de una pseudosinstruccin. Se construye la tabla de smbolos a medida que aparecen las definiciones de variables, etiquetas, etc. ENSAMBLADORES DE DOS FASES: Realiza la traduccin en dos etapas: 1 fase leen el programa fuente y construyen la tabla de smbolos, 2 fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente pues reconocen la totalidad de los smbolos. Compiladores.

Un compilador es querer traducir un programa de un lenguaje de alto nivel, a otro lenguaje de nivel inferior (tpicamente lenguaje mquina).

Fases del compilador

CLASIFICACIN DE COMPILADORES DE UNA PASADA: Examina el cdigo fuente una vez, generando el cdigo o programa objeto.

PASADAS MLTIPLES: Requiere pasos intermedios para producir cdigo en otro lenguaje y una pasada final para producir y optimizar el cdigo producido durante pasos anteriores.

COMPILADORES INCREMENTALES: Generan un cdigo objeto, instruccin por instruccin cuando el usuario teclea cada orden individual.

COMPILADOR CRUZADO: Se genera cdigo en lenguaje objeto para una maquina diferente a la que se est utilizando para compilar.

COMPILADOR CON MONTADOR: Compila distintos mdulos de forma independiente y despus es capaz de aplazarlos. AUTO COMPILADORES: Compilador que esta escrito en el mismo lenguaje que va a compilar. META COMPILADOR: Es programa que recibe como entrada las

7 especificaciones del lenguaje para el que se desea obtener un compilador y genera como salida el compilador para ese lenguaje. DESCOMPILADOR: Es un programa que acepta como entrada cdigo mquina y la traduce a un lenguaje de alto nivel realizando el proceso inverso a la compilacin.

MASM Y DEBUG. MASM. MASM es un ejemplo de un ensamblador de alto nivel). Versiones posteriores agregaron la capacidad de producir programas para los sistemas operativos Windows. MASM es una de las pocas herramientas de desarrollo de Microsoft para las cuales no haba versiones separadas de 16 bits y 32 bits. DEBUG. Un depurador (en ingls, debugger), es un programa usado para probar y depurar (eliminar los errores) de otros programas (el programa "objetivo"). El cdigo a ser examinado puede alternativamente estar corriendo en un simulador de conjunto de instrucciones (ISS), una tcnica que permite gran potencia en su capacidad de detenerse cuando son encontradas condiciones especficas pero ser tpicamente algo ms lento que ejecutando el cdigo directamente en el apropiado (o el mismo) procesador.

9 PALABRAS RESERVADAS Ciertas palabras en lenguaje ensamblador estn reservadas para sus propsitos propios, y son usadas solo bajo condiciones especiales. Por categoras, las palabras reservadas incluyen: Instrucciones, como MOV y ADD, que son operaciones que la computadora puede ejecutar. Directivas como END o SEGMENT, que se emplean para proporcionar comandos al ensamblador. Operadores, como FAR y SIZE, que se utilizan en expresiones. Smbolos predefinidos, como @Data y @Model, que regresan informacin a su programa. El uso de una palabra reservada para un propsito equivocado provoca que el ensamblador genere un mensaje de error. Un identificador es un nombre que se aplica a elementos en el programa. Los dos tipos de identificadores son: nombre, que se refiere a la direccin de un elemento de dato, y etiqueta, que se refiere a la direccin de una instruccin.

OPERANDOS Y DIRECTIVAS. Operando Un operando le especifica al ensamblador qu valor, registro, localidad de memoria, etc., asociar con cada instruccin. Hay varias clases de operandos: registros, constantes, etiquetas, variables y cadenas. El tipo y nmero de operandos depende de la instruccin o directiva. Si hay dos o ms, van separados por comas (,). Directivas Directiva es una instruccin para el ensamblador. No produce cdigo ejecutable, sino que controla varios de los aspectos de cmo opera el ensamblador, los segmentos a usar, etc.

11 LGICA Y CONTROL DE PROGRAMAS Como ya se sabe el nico lenguaje que entiende el micro controlador es el cdigo mquina formado por ceros y unos del sistema binario. Como ya se Menciona al principio de este trabajo el lenguaje ensamblador expresa las Instrucciones de una forma ms natural al hombre a la vez que muy cercana al Micro controlador, ya que cada una de esas instrucciones se corresponde con otra En cdigo mquina. El lenguaje ensamblador trabaja con nemnicos, que son Grupos de caracteres alfanumricos que simbolizan las rdenes o tareas a Realizar. La traduccin de los nemnicos a cdigo mquina entendible por el Micro controlador la lleva a cabo un programa ensamblador. El programa escrito en lenguaje ensamblador se denomina cdigo fuente (*.asm). El programa Ensamblador proporciona a partir de este fichero el correspondiente cdigo Mquina, que suele tener la extensin *.hex la cual es entendible para la maquina. 16

INTERRUPCIONES. Una interrupcin es el rompimiento en la secuencia de un programa para ejecutar un programa especial llamando una rutina de servicio cuya caracterstica principal es que al finalizar regresa al punto donde se interrumpi el programa. Dentro de una computadora existen dos clases de interrupciones: Interrupciones por software: Son aquellas programadas por el usuario, es decir, el usuario decide cuando y donde ejecutarlas, generalmente son usadas para realizar entrada y salida. Interrupciones por hardware: Son aquellas que son provocadas por dispositivos externos al procesador su caracterstica principal es que no son programadas, esto es, pueden ocurrir en cualquier momento en el programa. Existen dos clases de interrupciones de este tipo: Interrupciones por hardware enmascarables: Aquellas en las que el usuario decide si quiere o no ser interrumpido. Interrupciones por hardware no enmascarables (NMI): Aquellas que siempre interrumpen al programa.

13 Desarrollo de programas. El desarrollo de programas en ensamblador requiere un conocimiento en detalle de la arquitectura del procesador y una meticulosidad extrema a la hora de decidir qu instrucciones y datos utilizar. Al trabajar con el lenguaje mquina del procesador, la comprobacin de errores de ejecucin es prcticamente inexistente. Si se ejecuta una instruccin con operandos incorrectos, el procesador los interpretar tal y como es y lo mas probable es q el programa genere error.

Conclusin.

El lenguaje ensamblador es una herramienta muy poderosa, aunque pues resulta un poco complicado quizs programar con ella pues hay bastantes directivas comandos y palabras reservada que uno como programador debe dominar para acercarse lo ms posible al lenguaje mquina.

15 Referencias. Stallings, W. (2005). Organizacin y arquitecturas de computadoras. Madrid.Pearson.7th ed. Mano, M.. (2000).Arquitecturas de computadoras. Tanembaum,S. Andrew. (2000). Organizacin de computadoras: un enfoque estructurado. Mxico. Prencite Hall.4ta