miércoles, 27 de febrero de 2013

Aplicacion del Lenguaje de Alto Nivel



Os presento un vídeo donde nos muestra la aplicación del lenguaje de alto nivel en el lenguaje de programacion java.




A continuación uno vídeos para la mejor apreciación.

















viernes, 22 de febrero de 2013

Programación en Lenguaje de Alto Nivel.

Las operaciones que debe realizar el hardware son especificadas por una lista de instrucciones, llamadas programas o software.
EL software se divide en dos grandes grupos:
  • software del sistema y
  • software de aplicaciones.
El software del sistema es el conjunto de programas indispensables para que la máquina funcione; se denominan también programas del sistema. Estos programas son básicamente:
  • Sistema operativo : DOS y WINDOWS
  • Editores de texto: EDIT , PADWORD
  • Compiladores / interpretes (lenguajes de programación) y
  • Programas de utilitarios.
Uno de los programas mas importantes es el sistema operativo, que sirve, esencialmente, para facilitar la escritura y uso de sus propios programas.
El sistema operativo: dirige las operaciones globales de la computadora, instruye a la computadora para ejecutar otros programas y controla el almacenamiento y resuperación de archivos (programas y datos) de cintas y discos.
Gracias al sistema operativo es posible que el programador pueda introducir y grabar nuevos programas, así como instruir a la computadora para que los ejecute.
Los sistemas operativos pueden ser:
monousuarios (un solo usuario ) y
multiusuarios, o de tiempo compartido (diferentes usuarios), atendiendo al numero de usuarios, y mono tarea (una sola tarea) o multitarea (múltiples tareas) según las tareas (procesos) que puede realizar simultáneamente.
QuickBASIC corre (funciona) en el sistema operativo de disco DOS - monousuario, mono tarea - que soportan las computadoras personales PC . Ya se usan los sistemas operativos OS/2 que soportan las computadoras personales PS/2 (multitarea), y en UNIX.
Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario / máquina. Los programas especiales llamados traductores (compiladores e intérpretes) convierten las instrucciones escritas en lenguaje de programación, en instrucciones escritas en lenguaje máquina (0 y 1 bits), para que esta pueda entender.
Los programas de utilidad, facilitan el uso de la computadora.
Ejemplo: Un editor de textos permite la escritura y edición de documentos. Estos apuntes fueron escritos en un editor de textos o procesador de palabras WORD ("word proccesor").
Los programas pueden realizar tareas concretas:
Nominas de pagos
Contabilidad
Análisis estadístico,
Cálculos de producciónbases de datos, etc, etc.,
es decir, los programas que se pueden escribir en QuickBASIC se denominan programas de aplicación. A lo largo del libro se verán pequeños programas de aplicación que muestran los principios de una buena programación de computadora.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1.9. Relación entre programas de aplicación y programas del sistema,
Se debe diferenciar entre el acto de crear un programa y la acción de la computadora cuando ejecuta las instrucciones del programa.
La creación de un programa se hace inicialmente en papel y a continuación se introduce en la computadora y se convierte en lenguaje entendible por la computadora.
La Figura 1.10 muestra el proceso general de ejecución de un programa:
  • Aplicación de una entrada (datos) al programa y
  • Obtención de una salida (resultados).
La entrada puede tener una variedad de formas, tales como números o caracteres alfabéticos.
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1,10. Acción de un programador
La salida puede también tener formas:
  • datos numéricos o caracteres
  • señales pare controlar equipos o robots, etc.
La ejecución de un programa requiere --generalmente-- unos datos como entrada, además del propio programa, para poder producir una salida. ( Fig 1.11 )
   Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1.1 1. Ejecución de un programa.
1.4. LOS LENGUAJES DE PROGRAMACION
Los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas se denominan lenguajes de programación.
Los lenguajes de programación se clasifican en tres grandes categorías:
  • Maquina
  • Bajo nivel
  • Alto nivel.
1.4.1. Lenguaje máquina
Los !lenguajes máquina, son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducción posterior para que la UCP, pueda entender y ejecutar el programa.
Las instrucciones en lenguaje maquina, se expresan en términos de la unidad de memoria mas pequeña, el bit (digito binario 0 o 1 ), en esencia una secuencia de bits que especifican la operación y las celdas implicadas en una operación. Una serie de instrucciones en lenguaje maquina son
0010 0000 0000 1001
1001 0001 1001 1110
Como se puede observar, estas instrucciones serán fáciles de leer por la computadora y difíciles por un programador, y viceversa. Esta razón hace difícil escribir programas en código o lenguaje a maquina y requiere buscar otro lenguaje pare comunicarse con la computadora, pero que sea mas fácil de escribir y leer por el programador.
Para evitar la tediosa tarea de escribir programas en lenguaje maquina, se han diseñado otros lenguajes de programación que facilitan la escritura y posterior ejecución de los programas.
Estos lenguajes son los de bajo y alto nivel.
1.4.2. Lenguajes de bajo nivel (ensambladores)
La programación en lenguaje maquina es difícil, por ello se necesitan lenguajes que permitan simplificar este proceso. Los lenguajes de bajo nivel han sido diseñados para ese fin.
Estos lenguajes dependen de la maquina, es decir, dependen de un conjunto de instrucciones especificas de la computadora.
Un lenguaje típico de bajo nivel es el lenguaje ensamblador. En este lenguaje las instrucciones se escriben en códigos alfabéticos conocidos como nemotécnicos (abreviaturas de palabras inglesas o españolas). Así, por ejemplo, nemotécnicos típicos son:
ADD suma
MPY multiplicar
LDA cargar acumulador
SUB resta
DIV dividir
STO almacenar
Las palabras nemotécnicas son mucho más fáciles de recordar que las secuencias de dígitos 0 y 1. Una instrucción típica en ensamblador puede ser:
ADD X, Y, Z
Esta instrucción significa que se deben sumar los números almacenados
en las direcciones x, y y almacenar el resultado en la dirección z.
El programa ensamblador traducirá la instrucción a código de maquina.
Por ejemplo:
ADD se puede traducir a 1110
x se puede traducir por 1001,
y 1010,
z por 1011.
La instrucción traducida sería:
1110 1001 1010 1011
Después que un programa ha sido escrito en lenguaje ensamblador, se necesita un programa --llamado ensamblador-- que lo traduzca a código máquina:
Para ver el gráfico seleccione la opción "Descargar" del menú superior
Figura 1.12. Programa ensamblador.
1.4.3. Lenguajes de alto nivel
Los lenguajes de programación de alto nivel (Ada, BASIC, COBOL, FORTRAN, Modula-2, Pascal, etc.) son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos --en general lenguaje inglés, como es el caso de QuickBASIC--, lo que facilita la escritura y la fácil compresión por el programador.
Por ejemplo, la línea siguiente es una línea de un programa QuickBASIC:
IF (x=y) AND (z=w) THEN PRINT "Esto es una prueba"
Que simbólicamente quiere decir :
si (x=y) y (z=w) entonces escribir "Esto es una prueba"
Esta línea se puede comprender fácilmente conociendo la traducción de las palabras inglesas IF (si), THEN (entonces), PRINT (escribir / imprimir), AND (y) y sin necesidad de mucha explicación.
Se pueden escribir también operaciones como: z=x+y
Características:
  • Los lenguajes de programación son --en general-- transportables. Esto
significa que un programa escrito en un lenguaje de alto nivel se puede escribir con poca o ninguna modificación en diferentes tipos de computadoras.
  • Otra propiedad de estos lenguajes es que son independientes de la máquina, es decir , las sentencias del programa no dependen del diseño o hardware de una computadora especifica.
Los programas escritos en lenguaje de alto nivel no son entendibles directamente la máquina. Necesitan ser traducidos a instrucciones en lenguaje máquina que entiendan las computadoras.
Los programas que realizan esta traducción se llaman compiladores, y los programas escritos en un lenguaje de alto nivel se llaman programas fuentes,
El compilador traduce el programa fuente en un programa llamado programa objeto. Este programa objeto se utiliza en la fase de ejecución del programa.
Algunas computadoras especialmente microcomputadoras, utilizan unos programas similares llamados interpretes que traducen los programas.
El proceso de traducción de un programa fuente denomina interpretación o compilación, según sea el programa.
Un intérprete traduce y ejecuta una instrucción (sentencia) en código fuente, cada vez. Los programas interpretados generalmente se ejecutan mucho mas lentamente que los programas compilados; sin embargo, los intérpretes son mas fáciles de utilizar y la depuración de errores es mucho mas cómoda.


Leer más: http://www.monografias.com/trabajos15/el-software/el-software.shtml#ixzz2LlLSwPNT

Historia del Lenguaje Maquina.


En la década del 40, surgen representaciones para estas instrucciones. Ya no eran unos y ceros, sino que se los representaba con palabras más fáciles de recordar (instrucciones mnemonicas) como MOVE, LDA, ADD, etc.

La relación con el código binario era directa, por cada instrucción MNEMONICA, existe una instrucción en binario y viceversa. Así se construyen los primeros traductores que pasarán la instrucción MNEMONICA a Binario. Estos traductores recibieron el nombre de emsambladores y se convirtieron en el primer lenguaje de los ordenadores. De todas maneras, la programacion era complicada y difícil, porque se acercaba mucho a la forma de operar de las computadoras y no al lenguaje humano (llamados) lenguajes de alto nivel.


viernes, 15 de febrero de 2013

Introduccion


Empezaremos con una breve introducción sobre el tema de lenguaje ensamblador.

LENGUAJE ENSAMBLADOR

• El único lenguaje que entienden los micro controladores es el código 
máquina formado por ceros y unos del sistema binario.
• El lenguaje ensamblador expresa las instrucciones de una forma más 
natural al hombre a la vez que muy cercana al micro controlador, ya que cada 
una de esas instrucciones se corresponde con otra en código máquina.
• El lenguaje ensamblador trabaja con nemónicos, que son grupos de 
caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar.
•La traducción de los nemónicos a código máquina entendible por el 
micro controlador la lleva a cabo un programa ensamblador.
• El programa escrito en lenguaje ensamblador se denomina código fuente
(*.asm). El programa ensamblador proporciona a partir de este fichero el 
correspondiente código máquina, que suele tener la extensión *.hex.

Podemos expresarlo con esta imagen.



Definamos Código Fuente:

• Está compuesto por una sucesión de líneas de texto.
• Cada línea puede estructurarse en hasta cuatro campos o columnas 
separados por uno o más espacios o tabulaciones entre sí.
_ Campo de etiquetas. Expresiones alfanuméricas escogidas por el 
usuario para identificar una determinada línea. Todas las etiquetas 
tienen asignado el valor de la posición de memoria en la que se encuentra 
el código al que acompañan.
_ Campo de código. Corresponde al nemónico de una instrucción, de una 
directiva o de una llamada a macro.
_ Campo de operandos y datos. Contiene los operandos que precisa el 
nemónico utilizado. Según el código, puede haber dos, uno o ningún 
operando.
_ Campo de comentarios. Dentro de una línea, todo lo que se encuentre 
a continuación de un punto y coma (;) será ignorado por el programa 
ensamblador y considerado como comentario.

CAMPO DE CÓDIGO
Este Código Puede Corresponder a :

_ Instrucciones: son aquellos nemónicos que son convertidos por el 
ensamblador en código máquina que puede ejecutar el núcleo del 
micro controlador. En la gama media (PIC16xxx) cada nemónico se 
convierte en una palabra en la memoria de programa
_ Directivas. Pseudoinstrucciones que controlan el proceso de ensamblado 
del programa, pero no son parte del código. Son indicaciones al programa
ensamblador de cómo tiene que generar el código máquina
_ Macros: Secuencia de nemónicos que pueden insertarse en el código
fuente del ensamblador de una manera abreviada mediante una simple 
llamada.




Un ejemplo



CAMPO DE OPERANDO Y DATOS

• El ensamblador MPASM (distribuido por Microchip) soporta los sistemas 
de numeración decimal, hexadecimal, octal, binario y ASCII.
• Los nemónicos que tengan una constante como operando deberán incluirla 
respetando la sintaxis que se indica a continuación.




CICLO DE INSTRUCCIÓN

• Un ciclo de instrucción es el tiempo que se tarda en ejecutar una 
instrucción (salvo las instrucciones de salto) en el microcontrolador. En 
los PIC16, un ciclo de instrucción dura 4 ciclos de reloj.
• En una primera etapa, la instrucción es traída a la CPU. Esto lleva un 
ciclo de instrucción TCY.
• En la segunda etapa se ejecuta la instrucción. Esto lleva otro TCY.
.
• No obstante, debido al solapamiento (pipelining ó entubado) de traer la 
instrucción actual y ejecución de la instrucción previa, una instrucción se 
trae y otra se ejecuta cada TC






Pudiera haber un ciclo de instrucción de retardo si el 
resultado de ejecutar la instrucción anterior modifica el 
contenido del Contador de Programa (Ej: GOTO ó CALL). 
Esto implica suspender el entubado (pipelining) de las 
instrucciones durante un ciclo para que la instrucción a 
donde se salta se traiga a la CPU




Sin el Lenguaje Ensamblador no podrianos estar disfrutando de los beneficios que tenemos con las computadoras.
A pesar de que este lenguaje es el unico que entienden los integrador y la computadora en si, nos hemos adaptado a manejarlo a nuestro beneficio.



Eso es todo en mi Blog 

Hasta la Proxima.