lenguaje de Programacion

16
ELEMENTOS DE LA PROGRAMACION A TRAVES DEL LENGUAJE DE MAQUINAS Y DEL LENGUAJE EMSAMBLADOR Universidad De Oriente Núcleo De Anzoátegui Departamento De Arquitectura Computación Básica BACHILLERES: Barcelona, Enero de 2013. Laura Rivero C.I 19717262 Albenis Leon C.I 20359593

Transcript of lenguaje de Programacion

ELEMENTOS DE LA PROGRAMACION A TRAVES DEL

LENGUAJE DE MAQUINAS Y DEL LENGUAJEEMSAMBLADOR

Universidad De Oriente Núcleo De Anzoátegui

Departamento De Arquitectura Computación Básica

EMSAMBLADOR

BACHILLERES:

Barcelona, Enero de 2013.

Laura Rivero C.I 19717262

Albenis Leon C.I 20359593

Se define Se define Se define Se define comocomocomocomo el el el el procesoprocesoprocesoproceso de de de de creacióncreacióncreacióncreación de un de un de un de un programaprogramaprogramaprograma dedededecomputadoracomputadoracomputadoracomputadora, , , , mediantemediantemediantemediante la la la la aplicaciónaplicaciónaplicaciónaplicación de de de de procedimientosprocedimientosprocedimientosprocedimientos lógicoslógicoslógicoslógicos, a, a, a, atravéstravéstravéstravés de los de los de los de los siguientessiguientessiguientessiguientes pasospasospasospasos::::

�El desarrollo lógico del programa pararesolver un problema en particular.

•Escritura de la lógica del programaempleando un lenguaje de programaciónempleando un lenguaje de programaciónespecífico (codificación del programa)

•Ensamblaje o compilación del programahasta convertirlo en lenguaje de máquina

•Prueba y depuración del programa.

•Desarrollo de la documentación.

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ólo

consiste en cadenas extensas de números 0 y 1.consiste en cadenas extensas de números 0 y 1.

Para facilitar el trabajo, los primeros operadores de computadorasdecidieron hacer un traductor para reemplazar los1 y 0 por

palabras o abstracción de palabras y letras provenientes del inglés;éste se conoce como lenguaje ensamblador.

La necesidad de recordar secuencias de programación para

“ Las acciones usuales llevó a denominarlas con nombres fácilesde memorizar y asociar: ADD(sumar), SUB(restar), MUL

(multiplicar), CALL (ejecutar subrutina), etc. Posteriormente

aparecieron diferentes lenguajes de programación, los cualesreciben su denominación porque tienen una estructurasintáctica similar a los lenguajes escritos por los humanos,sintáctica similar a los lenguajes escritos por los humanos,denominados también lenguajes de alto nivel.”

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 el

procesamiento de datos y sus estructuras en laprocesamiento de datos y sus estructuras en lacomputadora.

1. Lenguajes

desarrollados para el cálculo

numérico: FORTRAN,

Mathematica y Matlab.

2. Lenguajes

parasistemas: C, C++ y

ensamblador.

3. Lenguajes para

aplicaciones de InteligenciaArtificial: Prolog, y Lisp.

LenguajesLenguajesLenguajesLenguajes de de de de bajobajobajobajo nivelnivelnivelniveles, 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 formadirecta.

LenguajesLenguajesLenguajesLenguajes de de de de mediomediomediomedio nivelnivelnivelnivel

tiene ciertas características que los acercan a los lenguajes debajo nivel pero teniendo, al mismo tiempo, ciertas cualidadesbajo nivel pero teniendo, al mismo tiempo, ciertas cualidadesque lo hacen un lenguaje más cercano al humano y, por tanto,de alto nivel.

LenguajesLenguajesLenguajesLenguajes de alto de alto de alto de alto nivelnivelnivelnivel

Los lenguajes de alto nivel son normalmente fáciles de aprender porqueestán formados por elementos de lenguajes naturales, como el inglés. En

BASIC, el lenguaje de alto nivel más conocido, los comandos como "IFCONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora

que pare si CONTADOR es igual a 10.

LenguajesLenguajesLenguajesLenguajes compiladoscompiladoscompiladoscompiladosLos compiladores son aquellos cuya función es traducir unprograma escrito en un determinado lenguaje a un idioma que lacomputadora entienda.

Al usar un lenguaje compilado el programa desarrollado nunca seejecuta mientras haya errores, sino hasta que luego de habercompilado el programa, ya no aparecen errores en el código.

LenguajesLenguajesLenguajesLenguajes InterpretadosInterpretadosInterpretadosInterpretadosel programa intérprete, almacenado en el sistema operativo del disco, o

incluido de manera permanente dentro de la máquina, convierte cadaproposición del programa fuente, en lenguaje de máquina, conforme vayasiendo necesario durante el proceso de los datos. No se graba el código

objeto para utilizarlo posteriormente.

El El El El paradigmaparadigmaparadigmaparadigma imperativoimperativoimperativoimperativo o o o o porporporpor procedimientosprocedimientosprocedimientosprocedimientos es considerado el máscomún y está representado, por ejemplo, por el BASIC.

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

El El El El paradigmaparadigmaparadigmaparadigma lógicológicológicológico, un ejemplo es PROLOG.

El El El El paradigmaparadigmaparadigmaparadigma orientadoorientadoorientadoorientado a a a a objetosobjetosobjetosobjetos. . . . Un lenguaje completamente orientadoa objetos es Smalltalk.

El Lenguaje de máquina, es el lenguaje más primitivo y dependedirectamente del hardware, es el sistema de códigos directamente

interpretable 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 sonlenguaje 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.

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 la computadora,se le asocia un número, que corresponde a su código de operación(opcode), la descripción y uso de estos “opcodes” es lo que se llamalenguaje de máquina.

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

101 011 011 001 010

Se puede ver que, con esta representación, es simple expresar lasoperaciones de las que es capaz de realizar el hardware en lamemoria.

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

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ñasrepresenta 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.

LenguajeLenguajeLenguajeLenguaje de de de de NivelNivelNivelNivel BajoBajoBajoBajo ((((EnsambladorEnsambladorEnsambladorEnsamblador))))

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 quepueden ser cargadas en la memoria de un sistema basado enpueden ser cargadas en la memoria de un sistema basado enmicroprocesador.

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 ser modificado,escrito para un microprocesador, suele necesitar ser modificado,muchas veces en su totalidad para poder ser usado en otra máquinadistinta, 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.

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.