Búsqueda personalizada

Anuncios Google

Introducción

Acerca del curso

Este curso está destinado a aquellas personas que deseen aprender a programar en lenguaje ensamblador para la plataforma IA-32 bajo ambiente Linux. Los ejemplos se refieren al compilador gcc (GNU compiler collection). El ensamblador de gcc se llama as y por formar parte de gcc comúnmente se conoce como gas. Se presentan una serie de ejemplos y ejercicios para ayudar al estudiante en la programación.

Por qué programar en ensamblador

La programación en lenguaje ensamblador ofrece diferentes ventajas. Un programa escrito en lenguaje ensamblador requiere considerablemente menos memoria y tiempo de ejecución que un programa escrito en un lenguaje de alto nivel. La programación en lenguaje ensamblador depende de la arquitectura del computador sobre el cual se trabaja, ésto es importante para entender el funcionamiento interno de la máquina, por ello al programar en ensamblador se llega a comprender cómo funciona el computador y cómo es su estructura básica. La capacidad de poder escribir programas en lenguaje ensamblador es muy importante para los profesionales del área de Sistemas Operativos debido a que los programas residentes y rutinas de servicio de interrupción casi siempre son desarrollados en lenguaje ensamblador. Además, aun cuando la mayoría de los especialistas en programación desarrolla aplicaciones en lenguajes de alto nivel, que son más fáciles de escribir y de mantener, una práctica común es codificar en lenguaje ensamblador aquellas rutinas que han causado cuellos de botella en el procesamiento.

Organización del curso

Este curso enseña programación básica en lenguage ensamblador gas. Los temas se presentan en la siguiente secuencia:

  • Descripción de las características básicas de la arquitectura de la máquina sobre la cual se va a trabajar, en este caso la arquitectura IA-32.
  • Descripción del entorno de programación es decir, los programas y herramientas necesarios para realizar la programación.
  • Descripción de la estructura del programa, donde se explica cómo está organizado asi como la declaración de punto de inicio y la finalización del código.
  • Declaración de datos.
  • Descripción de la sintaxis y funcionamiento de las instrucciones básicas.
  • Explicación de cómo realizar operaciones de lectura y escritura.
  • Explicación de la programación de estructuras condicionales y ciclos para proveer control de flujo.
  • El uso de arreglos
  • Convenciones para el desarrollo de procedimientos.

La barra de navegación del lado izquierdo provee enlaces para los temas mencionados en el orden descrito. Además hay enlaces para herramientas que son útiles a lo largo del curso, información básica acerca del uso de comandos de Linux y gcc y finalmente una área de preguntas frecuentes.

En algunas partes hemos incluido información que si bien es importante y útil para programar no es imprescindible conocer para comenzar la programación básica. A lo largo del curso estas secciones están identificadas.