Trabajo lenguajes de programacion

2,061

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,061
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Trabajo lenguajes de programacion

  1. 1.  es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.[1] Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación.
  2. 2.  A principios de la década de 1950, y con el fin de facilitar la labor de los programadores, se desarrollaron códigos nemotécnicos para las operaciones y direcciones simbólicas. La palabra nemotécnico se refiere a una ayuda para la memorización. Uno de los primeros pasos para mejorar el proceso de preparación de programas fue sustituir los códigos de operaciones numéricos del lenguaje de máquina por símbolos alfabéticos, que son los códigos nemotécnicos.
  3. 3.  Si la computadora era capaz de traducir símbolos convenientes en operaciones básicas, ¿por qué no hacer también que realizara otras funciones rutinarias de codificación, como la asignación de direcciones de almacenamiento a los datos? La técnica de direccionamiento simbólico permite expresar una dirección no en términos de su localización numérica absoluta, sino en términos de símbolos convenientes para el programador.
  4. 4.  Durante las primeras etapas del direccionamiento simbólico, el programador asigna un nombre simbólico y una dirección real a un dato. Por ejemplo, el programador podría asignar el valor total de mercancía adquirida durante un mes por un cliente de una tienda de departamentos a la dirección 0063, y darle el nombre simbólico TOTAL. Se podría asignar el valor de la mercancía devuelta sin usar durante el mes a la dirección 2047 y dársele el nombre simbólico CRÉDITO. Así, durante el resto del programa, el programador se referirá a los nombres simbólicos, más que a las direcciones, cuando fuera preciso procesar estos datos. Por ejemplo, se podría escribir la instrucción "S CRÉDITO TOTAL" para restar el valor de las mercancías devueltas del importa total de compras para obtener el importe de la factura mensual del cliente. A continuación, el programa ensamblador traduciría la instrucción simbólica a esta cadena de bits.
  5. 5.  Se dejó a la computadora la tarea de asignar y recordar las direcciones de las instrucciones. Lo único que tenía que hacer el programador era indicar a la computadora la dirección de la primera instrucción, y el programa ensamblador se encargaba de almacenar, de manera automática, todas las demás en forma secuencial a partir de ese punto. Así, si se agregaba más tarde otra instrucción al programa, no era necesario modificar las direcciones de todas las instrucciones que seguían al punto de inserción (como tendría que hacerse en el caso de programas escritos en lenguaje de máquina). En vez de ello, el procesador ajustaba automáticamente las localidades de memoria la próxima vez que se ejecutaba el programa.
  6. 6.  En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican dónde quieren que se coloque la primera localidad del programa, y el programa ensamblador se encarga de lo demás: asigna localidades tanto para las instrucciones como para los datos.
  7. 7.  En la actualidad, los programadores no asignan números de dirección reales a los datos simbólicos, simplemente especifican dónde quieren que se coloque la primera localidad del programa, y el programa ensamblador se encarga de lo demás: asigna localidades tanto para las instrucciones como para los datos.
  8. 8.  Los lenguajes ensambladores tienen ventajas sobre los lenguajes de máquina. Ahorran tiempo y requieren menos atención a detalles. Se incurren en menos errores y los que se cometen son más fáciles de localizar. Además, los programas en lenguaje ensamblador son más fáciles de modificar que los programas en lenguaje de máquina. Pero existen limitaciones. La codificación en lenguaje ensamblador es todavía un proceso lento. Una desventaja importante de estos lenguajes es que tienen una orientación a la máquina. Es decir, están diseñados para la marca y modelo específico de procesador que se utiliza, y es probable que, para una máquina diferente, se tengan que volver a codificar los programas
  9. 9.  El código escrito en lenguaje Assembly posee una cierta dificultad de ser entendido directamente por un ser humano ya que su estructura se acerca más bien al lenguaje máquina, es decir, lenguaje de bajo nivel.  El lenguaje Assembly es difícilmente portable, es decir, un código escrito para un microprocesador, suele necesitar ser modificado, muchas veces en su totalidad para poder ser usado en otra máquina distinta, aun con el mismo microprocesador.  Los programas hechos en lenguaje Assembly son generalmente más rápidos y consumen menos recursos del sistema (memoria RAM y ROM). Al programar cuidadosamente en lenguaje Assembly se pueden crear programas que se ejecutan más rápidamente y ocupan menos espacio que con lenguajes de alto nivel.  Con el lenguaje Assembly se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles de programar en un lenguaje de alto nivel.  También se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecución.
  10. 10.  . El código máquina, o lenguaje de máquina, está formado por instrucciones sencillas, que - dependiendo de la estructura del procesador- pueden especificar:  Registros específicos para operaciones aritméticas, direccionamiento o control de funciones.  Posiciones de memoria específicas (offset).  Modos de direccionamiento usados para interpretar operandos.  Las operaciones más complejas se realizan combinando estas instrucciones sencillas, que pueden ser ejecutadas secuencialmente o mediante instrucciones de control de flujo.  Las operaciones disponibles en la mayoría de los conjuntos de instrucciones incluye:  mover › llenar un registro con un valor constante › mover datos de una posición de memoria a un registro o viceversa › escribir y leer datos de dispositivos  computar › sumar, restar, multiplicar o dividir los valores de dos registros, colocando el resultado en uno de ellos o en otro registro › realizar operaciones binarias, incluyendo operaciones lógicas (AND/OR/XOR/NOT) › comparar valores entre registros (mayor, menor, igual)  afectar el flujo del programa › saltar a otra posición en el programa y ejecutar instrucciones allí › saltar si se cumplen ciertas condiciones (IF) › saltar a otra posición, pero guardar el punto de salida para retornar (CALL, llamada a subrutinas)  Algunas computadoras incluyen instrucciones complejas dentro de sus capacidades. Una sola instrucción compleja hace lo mismo que en otras computadoras puede requerir una larga serie de instrucciones, por ejemplo:  salvar varios registros en la pila de una sola vez  mover grandes bloques de memoria  operaciones aritméticas complejas o de punto flotante (seno, coseno, raíz cuadrada)  Mientras que una computadora reconoce la instrucción de máquina IA-32
  11. 11. FIN
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×