3 codigos de operacion.pptx

14
Codigos de Operacion M.C. Edgardo Abdiel Escoto Sotelo

Upload: omarcito-robles

Post on 07-Nov-2015

219 views

Category:

Documents


0 download

DESCRIPTION

tema de la materia de compiladores

TRANSCRIPT

Codigos de Operacion

Codigos de OperacionM.C. Edgardo Abdiel Escoto Sotelo

3.1. Lenguaje Fuente Basado en MnemonicosUn mnemonico es una palabra que sustituye a un codigo de operacion, con lo cual es mas facil la programacion, es de aqui de donde se aplica el concepto de lenguaje ensamblador.Un ejemplo de un mnemonico es la instruccion MOV, que le indica al microprocesador que debe de asignar datos de un lugar a otro. El microprocesador no entiende palabras, sino numeros binarios, por lo que es necesaria la traduccion del termino mnemonico a codigo objeto.El lenguaje mnemonico tambien es utilizado en la programacion de numerosos tipos de procesadores logicos programabales(PLC), haciendo ,as rapida e eficiente la construccion de programas de alta complejidad. Entonces un mnemonico es un codigo simbolico que corresponde a una instruccion donde se especifica la operacion a realizar(cada fabricante utiliza sus propios codigos, y una nomenclatura distinta para nombrar las variables del sistema a programar).3.2. Definicion de los Codigos de OperacionUn codigo de operacion es una instruccion de lenguaje maquina que especifica la operacion a ser realizada.Su especificacion y formato seran definidos por la arquitectura del conjunto de instrucciones ISA del componente de hardware de computador (normalmente un CPU).La aplicacion depende de la arquitectura del CPU, consiste de registros, valores en memoria, valores almacenas en pilas, puertos de I/O, bus, etc.Las operaciones que un codigo de operacion puede especificar puede ser aritmetica, copia de datos, operaciones logicas, y control del programa.Las instrucciones mnemonicas que corresponden a las especificaciones del codigo de operacion y el operando de las instrucciones de lenguaje maquina, dan un mayor nivel de legibilidad y comprensibilidad, que trabajando directamente con operaciones de lenguajes de maquina, mientras que da el control exacto al lenguaje maquina generado.

Un programa en ensamblador transforma el lenguaje ensamblador en codigo maquina.

EnsambladorLos ensambladores son programas que procesan los enunciados del programa origen en lenguaje ensamblador y los traduce en archivos en lenguaje maquina que son ejecutados por un microprocesador o un microcontrolador.

El archivo en lenguaje objeto ejecutable se carga y se ejecuta en el sistema destino.

El traductor de lenguaje ensamblador a lenguaje maquina se denomina ensamblador, el cual mejora y resuelve problemas de los lenguajes maquina (como son el que las instrucciones sean cadenas de 1 y 0, que no existen nombres de variables sino direcciones de memoria, o que no permiten comentarios).Los Lenguajes Ensambladores permiten:Escribir instrucciones utilizando, en vez de codigos binarios, una notacion simbolica o mnemonica para representar los codigos de operacion.Utilizar para los datos, direcciones sibmolicas de memoria en lugar de direcciones binarias absolutas(los datos pueden ser referenciados mediante identificadores, SUMA, PROD, CONT).Las instrucciones escritas en ese lenguaje guardan una estrecha relacion con las instrucciones del lenguaje maquina en que posteriormente seran traducidas.Incluir lineas de comentarios entre las lineas de instrucciones, el traductor las elimina automaticamente, no incluyendolas en el codigo maquinaque genera. 3.3. Estructura de un Programa EjecutableSintaxis de un lenguaje ensambladorCampos de una instruccion en ensambladorPseudoinstrucciones

En la sintaxisEstructura de una linea

Campos de instruccion en ensambladorEtiqueta NemotecnicoCampo de operandosComentariosPseudoinstruccionesManipulacion del contador de direccion de ensambladoDefinicion de simbolosReserva de espacios en memoriaControl de la traduccion Almacenamiento en posicion Enlace entre programasAcciones de ensambladoEjecucion de listadosCompiladoresUn compilador traduce un programa fuente, escrito en un lenguaje de alto nivel, a un programa objeto, escrito en lenguaje ensamblador o maquina. El programa fuente suele estar contenido en un fichero, y el programa objeto pasa a ocupar otro fichero. El fichero objeto puede almacenarse en memoria masiva para ser procesado posteriormente.Lo que se debe cumplir en nuestro compiladorCuando el fichero esta creado(supongamos que con el nombre de SUMA), pasamos a compilar el programa. Con ello obtenemos el mismo programa en lenguaje ensamblador (suponemos que este compilador no genera directamente codigo maquina). Entonces enseguida se generara un nuevo fichero (SUMAS.obj), que contiene el programa en elnguaje maquina. Este programa se suele denominar relocalizable y aun no es directamente ejecutable.