grupo 4 elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje...

25
ELEMENTOS DE LA PROGRAMACION A TRAVES DEL LENGUAJE DE MAQUINAS Y DEL LENGUAJE EMSAMBLADOR BACHILLERES: Lodeiros Irene C.I 20.347.007 Márquez Solangel C.I 20.991.676 Rodriguez Lorena C.I 21.130.189 Rodriguez Sarai C.I 21.141.273 Barcelona, Diciembre de 2010.

Upload: sarai-rodriguez

Post on 11-Jul-2015

550 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

ELEMENTOS DE LA PROGRAMACION A TRAVES DEL LENGUAJE DE MAQUINAS Y DEL LENGUAJE

EMSAMBLADOR

BACHILLERES:

Lodeiros Irene C.I 20.347.007

Márquez Solangel C.I 20.991.676Rodriguez Lorena C.I 21.130.189

Rodriguez Sarai C.I 21.141.273

Barcelona, Diciembre de 2010.

Page 2: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador
Page 4: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Se define como el proceso de creación de un programa decomputadora, mediante la aplicación de procedimientos lógicos, através de los siguientes pasos:

El desarrollo lógico del programa pararesolver un problema en particular. Escritura de la lógica del programaempleando un lenguaje de programaciónespecífico (codificación del programa)Ensamblaje o compilación del programahasta convertirlo en lenguaje de máquinaPrueba y depuración del programa.Desarrollo de la documentación.

Page 5: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Para que la computadora entienda nuestras instrucciones debeusarse un lenguaje específico conocido como código máquina, elcual la máquina comprende fácilmente, pero que lo haceexcesivamente complicado para las personas. De hecho sóloconsiste en cadenas extensas de números 0 y 1.

Para facilitar el trabajo, los primeros operadores de computadorasdecidieron hacer un traductor para reemplazar los 1 y 0 porpalabras o abstracción de palabras y letras provenientes del inglés;éste se conoce como lenguaje ensamblador.

Page 6: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

La necesidad de recordar secuencias de programación paralas acciones usuales llevó a denominarlas con nombres fácilesde memorizar y asociar: ADD (sumar), SUB (restar), MUL(multiplicar), CALL (ejecutar subrutina), etc. Posteriormenteaparecieron diferentes lenguajes de programación, los cualesreciben su denominación porque tienen una estructurasintáctica similar a los lenguajes escritos por loshumanos, denominados también lenguajes de alto nivel.

Page 7: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador
Page 8: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

A medida que la complejidad de lastareas que realizaban lascomputadoras aumentaba, se hizonecesario disponer de un métodomás eficiente para programarlas.Entonces, se crearon los lenguajesde alto nivel, como lo fue el BASIC enlas versiones introducidas en losmicroordenadores de la década de1980. Mientras que una tarea tansencilla como sumar dos númerospuede necesitar varias instruccionesen lenguaje ensamblador, en unlenguaje de alto nivel bastará con

solo una.

Page 9: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador
Page 10: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Un programa es un conjunto de órdenes o instruccionesque resuelven un problema específico basado en unLenguaje de Programación, estos son un conjunto dereglas, notaciones, símbolos y/o caracteres quepermiten a un programador poder expresar elprocesamiento de datos y sus estructuras en lacomputadora.

Page 11: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador
Page 12: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

1. Lenguajes desarrollados para el cálculo numérico: FORTRAN, Mathematica y Matlab.2. Lenguajes parasistemas: C, C++ yensamblador.3. Lenguajes para aplicaciones de Inteligencia Artificial: Prolog, y Lisp.

Page 13: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Lenguajes de bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje

ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma

directa.

Lenguajes de medio niveltiene ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.

Lenguajes de alto nivelLos lenguajes de alto nivel son normalmente fáciles de aprender porque

están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF

CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10.

Page 14: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Lenguajes compiladosLos compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda.Al usar un lenguaje compilado el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que luego de haber compilado el programa, ya no aparecen errores en el código.

Lenguajes Interpretadosel programa intérprete, almacenado en el sistema operativo del disco, o

incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente, en lenguaje de máquina, conforme vaya

siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.

Page 15: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el BASIC.

El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.

El paradigma lógico, un ejemplo es PROLOG.

El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.

Page 16: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

El Lenguaje de máquina, es el lenguaje más primitivo y dependedirectamente del hardware, es el sistema de códigos directamenteinterpretable por un circuito micro-programable. Este lenguaje estácompuesto por un conjunto de instrucciones que determinanacciones a ser tomadas por la máquina. Un programa decomputadora consiste en una cadena de estas instrucciones delenguaje de máquina (más los datos). Estas instrucciones sonnormalmente ejecutadas en secuencia, con eventuales cambios deflujo causados por el propio programa o eventos externos.

Page 17: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

El lenguaje de máquina es específico de cada máquinao arquitectura de la máquina, aunque el conjunto de instruccionesdisponibles pueda ser similar entre ellas. La memoria, al estarcompuesta por bits, solamente permite almacenar númerosbinarios, a cada acción que sea capaz de realizar lacomputadora, se le asocia un número, que corresponde a su códigode operación (opcode), la descripción y uso de estos “opcodes” es loque se llama lenguaje de máquina.

Page 18: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Ejemplo 1:

Una calculadora programable simple podría asignar los siguientes opcodes :

1 = SUMA, 2 = RESTA, 3 = MULTIPLICA, 4 = DIVIDESupóngase entonces que se quiere realizar la operación (5 * 3 + 2), en la calculadora descrita arriba. En la memoria de la calculadora se podría representar el programa de la siguiente forma:

Posición OpcodeSignifica

doDescripción

0 5 5 Primer número de la fórmula

1 3 * 3 es el opcode para la multiplicación.

2 3 3 Segundo número de la fórmula

3 1 + 1 es el opcode para la suma.

4 2 2 Último número de la fórmula

Page 19: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Significados en código binario:5 3 3 1 2

101 011 011 001 010Se puede ver que, con esta representación, es simple expresar las operaciones de las que es capaz de realizar el hardware en la memoria.

Ejemplo 2:

Lenguaje de maquina del intel 8088. El código de maquina se resalta en rojo, el equivalente en lenguaje assembler en magenta, y las direcciones de memoria donde se encuentra el código, en azul.

Page 20: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Una computadora sólo puede entender el lenguaje máquina.

El lenguaje de máquina ordena a la computadora realizar sus operaciones fundamentales una por una.

Dicho lenguaje es difícil de usar para las personas ya que trabajar con números no es muy cómodo, además de que estos números están en formato binario.

Page 21: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

El lenguaje ensamblador (en inglés assembly language) es un tipode lenguaje de bajo nivel utilizado para escribir programasinformáticos, y constituye la representación más directa del códigomáquina específico para cada arquitectura de computadoras legiblepor un programador. Consiste en asociar a los opcodes palabrasclave que faciliten su uso por parte del programador, este lenguajerepresenta las acciones del ordenador mediante pequeñasabreviaturas de palabras en inglésActualmente se utiliza con frecuencia en ambientes académicos y deinvestigación, especialmente cuando se requiere la manipulacióndirecta de hardware, se pretenden altos rendimientos o un uso derecursos controlado y reducido.

Page 22: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Ejemplo 1:

Lenguaje de Nivel Bajo (Ensamblador)

LOAD R1, (B)LOAD R2, (C)ADD R1, R2STORE (A), R1

Un Programa escrito en lenguaje ensamblador consiste en una serie de instrucciones que corresponden al flujo de órdenes ejecutables que pueden ser cargadas en la memoria de un sistema basado en microprocesador.

Page 23: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Ejemplo 2:

Un procesador x86 puede ejecutar la siguiente instrucción binaria como se expresa en código de máquina:

Binario: 10110000 01100001 (Hexadecimal: 0xb061)La representación equivalente en lenguaje ensamblador es más fácil de recordar:

MOV al, 061hEsta instrucción significa:

Asigna el valor hexadecimal 61 (97 decimal) al registro "al".

El mnemónico "mov" es un código de operación u "opcode", elegido por los diseñadores de la colección de instrucciones para abreviar "move" (mover, pero en el sentido de copiar valores de un sitio a otro). El opcode es seguido por una lista de argumentos o parámetros, completando una instrucción de ensamblador típica.

Page 24: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

El código escrito en lenguaje ensamblador posee una cierta dificultadde ser entendido directamente por un ser humano ya que suestructura se acerca más bien al lenguaje máquina, es decir, lenguajede bajo nivel.

El lenguaje ensamblador es difícilmente portable, es decir, un códigoescrito para un microprocesador, suele necesitar sermodificado, muchas veces en su totalidad para poder ser usado enotra máquina distinta, aun con el mismo microprocesador.

Los programas hechos en lenguaje ensamblador son generalmentemás rápidos y consumen menos recursos del sistema (memoria RAMy ROM). Al programar cuidadosamente en lenguaje ensamblador sepueden crear programas que se ejecutan más rápidamente y ocupanmenos espacio que con lenguajes de alto nivel.

Page 25: GRUPO 4 Elementos a traves de los lenguajes de programacion, lenguaje de maquina y lenguaje ensamblador

Con el lenguaje ensamblador se tiene un control muy preciso delas tareas realizadas por un microprocesador por lo que sepueden crear segmentos de código difíciles de programar en unlenguaje de alto nivel.

También se puede controlar el tiempo en que tarda una rutina enejecutarse, e impedir que se interrumpa durante su ejecución.

El lenguaje ensamblador requiere de muchas instrucciones pararealizar simples operaciones.