Você está na página 1de 4

Captulo 1

Introduccin a la Programacin
Programas de Computadora
Hoy en da, el uso de la computadora digital se ha extendido a casi todas nuestras actividades diarias desde el trabajo, la educacin, el entretenimiento, etc. Cada una de las tareas que la computadora realiza las hace siguiendo una serie de instrucciones predefinidas, un programa. Para ejecutar un programa, la computadora carga el programa a la memoria RAM de la computadora, el microprocesador de la computadora va leyendo cada una de las instrucciones del programa y los va ejecutando.

Lenguajes Mquina
Cada procesador tiene un conjunto de instrucciones que puede realizar, operaciones aritmticas, lgicas y de transferencia de datos de la memoria al procesador y viceversa. Por medio de stas se especifica el programa que queremos que ejecute el procesador. Este conjunto de instrucciones se le conoce como juego de instrucciones. La mayora de las instrucciones estn formadas por dos partes: la operacin y los operandos. La operacin es la accin que debe realizarse. Los operandos son los elementos sobre los que se realizar sta accin. Por lo tanto, dependiendo de su tipo, las instrucciones pueden tener cero uno o ms operandos. Sin embargo en todas las instrucciones existe la operacin. Cada operacin est codificada mediante un nmero nico llamado cdigo de la operacin. Como los operandos son tambin nmeros. Dentro de la computadora esos nmeros estn almacenados como secuencias binarias, combinaciones de ceros y unos. Cada cero o uno se conocen como un bit. Ocho bits se combinan formando un byte. Cada instruccin se codifica mediante una secuencia de bytes: uno o ms para el cdigo de la operacin y cero, uno o ms para los operandos. Un programa donde sus instrucciones estn codificadas como secuencias binarias est en lenguaje mquina.

ITSON

Manuel Domitsu Kono

Introduccin a la Programacin

Para ilustrar lo anterior, supongamos un microprocesador bsico en el que los cdigos de operacin sean de un byte y los operandos sean tambin de un byte. Supongamos tambin que el juego de instrucciones que tiene nuestro procesador bsico contiene entre otras, las instrucciones mostradas en la tabla 1.1: Tabla 1.1 Conjunto de instrucciones de un procesador bsico. Cdigo Instrucci De la n Instruccin Descripcin Operacin Codificada Cargar en el acumulador del 01 ACC n 01 n procesador un nmero n. Cargar en el acumulador del 02 procesador el contenido de la 02 ACC [n] n direccin n. Almacenar el contenido del 03 [n] ACC 03 n acumulador en la direccin n. Sumarle al acumulador el nmero n y 04 04 ACC ACC + n guardar el resultado en el n acumulador. Sumarle al acumulador el contenido 05 05 ACC ACC + [n] de la direccin n y guardar el n resultado en el acumulador.

Lenguajes Ensamblador y de Alto Nivel


A grandes rasgos, la evolucin de la programacin desde la programacin en el lenguaje mquina, lenguaje de bajo nivel o ensamblador y los lenguajes de alto nivel es la siguiente: Las primeras computadoras eran programadas alimentando manualmente las secuencias binarias que constituan las instrucciones del programa mediante una batera de interruptores. Obviamente programacin de esas primeras computadoras era una tarea muy tediosa y sujeta a errores. Posteriormente se substituy la batera de interruptores por teclados hexadecimales que permitan que el programador cargara una secuencia de cuatro bits presionando una sola tecla del teclado hexadecimal. El primer avance significativo en la programacin fue la invencin del lenguaje ensamblador. En el lenguaje ensamblador las operaciones del procesador son codificadas mediante secuencias de caracteres en lugar de secuencias binarias. Estas palabras llamadas mnemnicos, son por lo general el nombre de la operacin o una abreviatura de ste. En la tabla 1.2 se ilustran algunos mnemnicos de algunas de las instrucciones.

ITSON

Manuel Domitsu Kono

Captulo 1

Introduccin a la Programacin

Adicionalmente, en el lenguaje ensamblador, a las localidades de memoria en las que se almacenan datos se les pueden asignarse nombres simblicos de modo que esas localidades pueden referenciarse usando sus nombres en lugar de sus direcciones. Tabla 1.2 Mnemnicos de las instrucciones Mnemnic o mov ACC n mov ACC [n] mov [n] ACC add ACC A + n add ACC A + [n] Instruccin Instruccin en ensamblador mov ax, n mov ax, [dato] mov [resultado], ax add ax, n add ax, [dato]

Un programa escrito en lenguaje ensamblador es traducido al lenguaje mquina de la computadora donde se va a ejecutar mediante un programa traductor llamado ensamblador. Como las instrucciones del lenguaje ensamblador son las mismas que el procesador puede ejecutar, cada procesador tiene su lenguaje ensamblador el cual es diferente del ensamblador de otro procesador. El siguiente avance en la programacin consisti en la invencin de los lenguajes de alto nivel. La principal ventaja de los lenguajes de alto nivel es que las instrucciones en esos lenguajes, se escriben en una forma ms entendible por las personas ya que se parecen al lenguaje que empleamos en nuestra vida diaria. Aqu, el programa que traduce el programa escrito en lenguaje de alto nivel a un programa en lenguaje mquina se conoce como compilador. Otra ventaja de los lenguajes de alto nivel es que los programas escritos en stos son hasta cierto punto independientes del procesador en que se van a ejecutar los programas. Para transportar un programa de un procesador a otro, casi siempre es suficiente con compilarlo con un compilador que genere cdigo mquina para el nuevo procesador. Las desventajas de los lenguajes de alto nivel con respecto al lenguaje ensamblador son: En primer lugar, la mayora de los lenguajes de alto nivel limitan al programador en cuanto a las tareas que ste puede hacer y en segundo lugar un programa producido usando un lenguaje de alto nivel es de mayor tamao y ms lento de uno equivalente escrito en lenguaje ensamblador. Los siguientes dos ejemplos ilustran cmo ocurre la conversin entre las instrucciones de un programa de alto nivel y sus correspondientes instrucciones en lenguaje mquina: 1. Considere la siguiente proposicin en el lenguaje C: c = a + b;

ITSON

Manuel Domitsu Kono

Introduccin a la Programacin

Si suponemos que las variables a, b, c estn en las localidades cuyas direcciones son 25, 33 y 37, respectivamente, entonces la proposicin anterior correspondera al siguiente conjunto de instrucciones de nuestro procesador bsico: Instrucciones ACC [25] ACC ACC + [33] [37] ACC Codificacin 02 25 05 33 03 37

Considere la siguiente proposicin en el lenguaje C: z = x + 13 + y Si suponemos que las variables x, y, z estn en las localidades cuyas direcciones son 23, 44 y 17, respectivamente, entonces la proposicin anterior correspondera al siguiente conjunto de instrucciones de nuestro procesador bsico: Instrucciones ACC [23] ACC ACC + 13 ACC ACC + [44] [17] ACC Codificacin 02 23 04 13 05 44 03 17

ITSON

Manuel Domitsu Kono

Você também pode gostar