unidad 1 introducciÓn al lenguaje ensamblador

6
I. INTRODUCCIÓN EL LENGUAJE ENSAMBLADOR EN UNOS DE LOS LENGUAJES MÁS BAJOS DE LA PROGRAMACIÓN, ESTE TIPO DE PROGRAMACIÓN NOS PROPORCIONA LAS HERRAMIENTAS PARA INTERACTUAR CON EL HARDWARE SUS VENTAJAS RADICAN EN LA EFICIENCIA DE TAMAÑO Y FLEXIBILIDAD DE LOS PROGRAMAS SUS DESVENTAJAS SON EL TIEMPO DE PROGRAMACIÓN Y PELIGRO DE AFECTAR RECURSOS INESPERADAMENTE. II. DESARROLLO DE CONTENIDO UNIDAD 1 1.1Importancia de la programación en lenguaje ensamblador. El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador. La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Fig.1. Ejemplo del lenguaje ensamblador Síntesis de información recopilada Unidad 1 Pérez Camacho Jesús Asmeth. Instituto Tecnológico de Tuxtla Gutiérrez [email protected] 1

Upload: jesus-asmeth-perez-camacho

Post on 25-Dec-2015

8 views

Category:

Documents


1 download

DESCRIPTION

UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR

TRANSCRIPT

Page 1: UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR

I.INTRODUCCIÓN

EL LENGUAJE ENSAMBLADOR EN UNOS DE LOS LENGUAJES MÁS BAJOS DE LA PROGRAMACIÓN, ESTE TIPO DE PROGRAMACIÓN NOS PROPORCIONA LAS HERRAMIENTAS PARA INTERACTUAR CON EL HARDWARE SUS VENTAJAS RADICAN EN LA EFICIENCIA DE TAMAÑO Y FLEXIBILIDAD DE LOS PROGRAMAS SUS DESVENTAJAS SON EL TIEMPO DE PROGRAMACIÓN Y PELIGRO DE AFECTAR RECURSOS INESPERADAMENTE.

II. DESARROLLO DE CONTENIDO UNIDAD 1

1.1 Importancia de la programación en lenguaje ensamblador.

El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en él se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar.

Fig.1. Ejemplo del lenguaje ensamblador

1.2 El procesador y sus registros internos

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionales por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda Los registros internos del procesador se pueden clasificar en 6 tipos diferentesRegistros de segmentoRegistros de propósito generalRegistros de apuntadoresRegistros de banderasRegistros de Puntero de instrucciónRegistros de Pila.

Fig.2. Registros internos del microprocesador

Síntesis de información recopiladaUnidad 1

Pérez Camacho Jesús Asmeth.Instituto Tecnológico de Tuxtla Gutiérrez

[email protected]

1

Page 2: UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR

1.3 La memoria principal (RAM)

RAM es el acrónimo inglés de Random Access Memory (memoria de acceso aleatorio).La memoria principal está formada por un conjunto de unidades llamadas palabras. Dentro de cada una de estas palabras se guarda la información que constituye una instrucción o parte de ella (puede darse el caso de que una sola instrucción necesite varia palabras), o un dato o parte de un dato (también un dato puede ocupar varias palabras).

Fig.3. Ejemplos de memoria RAM

A la cantidad de palabras que forman la MP se le denomina capacidad de memoria.Una palabra está formada a su vez de unidades mas elementales llamadas bits, del mismo modo que en el lenguaje natural una palabra esta formada por letras.

Fig.4. Organización de la memoria RAM

1.4 El concepto de interrupciones

(Interrupt).También conocidas cono IRQ. Recursos que utiliza un dispositivo cuando necesita detener el proceso que está realizando la CPU para infórmale de que él, por su parte está haciendo algo. Si dos dispositivos utilizan la misma interrupción, se produce un conflicto, el ordenador no sabe qué elemento intenta avisarle y suelen aparecer problemas de funcionamiento. El programa interrumpido puede continuar ejecutándose luego. Existen 256 direcciones de interrupción diferentes.

Una interrupción se convierte en una interrupción de hardware cuando es solicitada por uno de los componentes de hardware del equipo.Tipos de interrupciones:Interrupción externa es provocada por un dispositivo externo al procesador una interrupción interna ocurre como resultado de la ejecución de una instrucción INT o una operación de división que cause desbordamiento, ejecución en modo de un paso o una petición para una interrupción externa, tal como E/S de disco.

Fig.5. Ejemplo rutina de interrupción

1.5 Llamadas a servicios del sistema

Llamada al sistema (en inglés system call) es el mecanismo usado por una aplicación para solicitar un servicio al sistema operativo.

Algunos sistemas permiten efectuar llamadas al sistema directamente desde un programa realizado en el lenguaje de mayor nivel, normalmente estas llamadas se asemejan a una función o sub-rutinas predefinidas

¿Cómo sabe el procesador que el dispositivo requiere que se le atienda?

2

Page 3: UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR

La primera forma es que el procesador esté periódicamente sondeando al dispositivo en cuestión.

La segunda forma, una más eficiente, es hacer que sea el dispositivo el que le avise al procesador cuando esté listo o requiera atención, interrumpiendo al procesador.

Fig.6. Interface de llamada al sistema

Fig.7. Interface de llamada al sistema

1.6 Modos de direccionamiento

Los llamados modos de direccionamiento son las diferentes maneras de especificar dentro de una instrucción, Un modo de direccionamiento especifica la forma de calcular la dirección de memoria efectiva de un operando mediante el uso de la información contenida en registros y / o constantes, contenida dentro de una instrucción de la máquina o en otra parte.

Fig.8. Tipos de direccionamiento

1.7 Proceso de ensamblado y ligado

Para poder crear un programa se requieren varias herramientas:Primero un editor para crear el programa fuente.Segundo un compilador que no es más que un programa que "traduce" el programa fuente a un programa objeto.Y tercero un enlazador o linker, que genere el programa ejecutable a partir del programa objeto.

Fig.9. Proceso de ensamblado y ligado

1.8 Desplegado de mensajes en el monitor

Para poder desplegar mensajes en el lenguaje ensamblador primero debemos conocer la estructura del programa en ensamblador.

Comentarios en lenguaje ensamblador: El uso de comentarios a lo largo de un programa puede mejorar su claridad, en especial en lenguaje ensamblador, donde el propósito de un conjunto de instrucciones con frecuencia no es claro. Un comentario empieza con punto y coma (;) y, en donde quiera que lo codifique, el ensamblador supone que todos los caracteres a la derecha de esa línea son comentarios. Un comentario puede contener cualquier carácter imprimible, incluyendo el espacio en blanco.

3

Page 4: UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR

Fig.10. Proceso de desplegado de mensajes en el monitor.

Fig.11. Desplegado de mensajes en el monitor.

III. CONCLUSIÓN

Podemos concluir que el lenguaje ensamblador es una de las bases de la programación actual ya que sin esta no existirían los programas actuales. Todo lo que se expuso en una introducción a este tipo de programación y al realizar algún error de sintaxis en este tipo de programación causaríamos una falla de nuestro dispositivo ya que se trabaja directamente con el hardware.

REFERENCIAS [1] Microcontroladores: fundamentos y aplicaciones con PIC

Escrito por Fernando E. Valdés Pérez, Ramón Pallàs Areny. p.79-81https://books.google.com.mx/books?id=ODenKGOHMRkC&pg=PA79&dq=lenguaje+ensamblador&hl=es&sa=X&ei=b9nRVP_XOZKFyQSMmICwCg&ved=0CCgQ6AEwAg#v=onepage&q=lenguaje%20ensamblador&f=false

[2] Microcontroladores PIC: sistema integrado para el autoaprendizaje por Enrique Mandado Pérez, Luis Manuel Menéndez Fuertes, Luis Fernández Ferreira, Emilio López Matos, Editorial MARCOMBO S.A Barcelona(España) p.167

https://books.google.com.mx/books?id=86uGLMp4vgAC&pg=PA167&dq=lenguaje+ensamblador&hl=es&sa=X&ei=b9nRVP_XOZKFyQSMmICwCg&ved=0CEUQ6AEwCA#v=onepage&q=lenguaje%20ensamblador&f=false

[3] Lenguage Y Compiladores por Ivan Pérez Primera Edición 2005 p.13-15https://books.google.com.mx/books?id=X4-MGtEw5TAC&pg=PA13&dq=lenguaje+ensamblador&hl=es&sa=X&ei=b9nRVP_XOZKFyQSMmICwCg&ved=0CEkQ6AEwCQ#v=onepage&q=lenguaje%20ensamblador&f=false

[4] http://www.fing.edu.uy/tecnoinf/mvd/cursos/arqcomp/ material/2014/teo/arq-teo10.pdf

[5] http://web.mit.edu/rhel-doc/4/RH-DOCS/rhel-isa-es-4/s1- memory-spectrum.html

[6] http://www.academia.edu/6462777/ Conceptos_Básicos_de_Lenguaje_Ensamblador_8086

4