Lenguaje Maquina

10
LENGUAJE MAQUINA. El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios). El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios). Fue el primer lenguaje utilizado en la programación de computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores. EJEMPLO 000 0 000 1 101 0 000 1 01 A1 100 0 100 1 100 1 101 0 89 9A 001 1 101 0 100 1 110 0 3A 9C 011 1 010 0 011 1 000 0 74 70 111 0 100 1 001 0 000 0 E9 20 1. Lenguaje de máquina (Primera Generación) Es el lenguaje que la computadora entiende, su estructura está totalmente adaptada a los circuitos de la máquina y la programación es tediosa porque los datos se representan por ceros (0) y unos (1). Es de bajo nivel. Es un conjunto de

description

Lengua Maquina y Pequeño desarrollo

Transcript of Lenguaje Maquina

Page 1: Lenguaje Maquina

LENGUAJE MAQUINA.

El lenguaje máquina es el único que entiende directamente la computadora, utiliza el

alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura

inglesa de dígitos binarios).

El lenguaje máquina es el único que entiende directamente la computadora, utiliza el

alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura

inglesa de dígitos binarios). Fue el primer lenguaje utilizado en la programación de

computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido

por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de

cometer errores.

EJEMPLO

0000 0001 1010 0001 01 A1

1000 1001 1001 1010 89 9A

0011 1010 1001 1100 3A 9C

0111 0100 0111 0000 74 70

1110 1001 0010 0000 E9 20

1. Lenguaje de máquina (Primera Generación)

Es el lenguaje que la computadora entiende, su estructura está totalmente adaptada a los

circuitos de la máquina y la programación es tediosa porque los datos se representan por

ceros (0) y unos (1). Es de bajo nivel. Es un conjunto de instrucciones codificadas en

binario que son capaces de relacionarse directamente con los registros y circuitería del

microprocesador de la computadora y que resulta directamente ejecutable por éste, sin

necesidad de otros programas intermediarios. Los datos se referencian por medio de las

direcciones de memoria donde se encuentran y las instrucciones realizan operaciones

simples. Estos lenguajes están íntimamente ligados a la CPU y por eso no son transferibles.

(baja portabilidad). Para los programadores es posible escribir programas directamente en

lenguaje de máquina, pero las instrucciones son difíciles de recordar y los programas

resultan largos y laboriosos de escribir y también de corregir y depurar.

Page 2: Lenguaje Maquina

APLICACIONES

Debido a su sencillez y a su aplicación a los ordenadores más populares, Basic (Beginners

All-purpose Symbolic Instruction Code) es quizás el lenguaje de alto nivel más conocido.

Basic debe gran parte de su difusión a las características de su diseño: empleo de palabras

inglesas corrientes para denominar a las instrucciones y uso de símbolos matemáticos para

las operaciones.

Fundamentalmente, Basic se utiliza para resolver problemas científico-técnicos y generales

que no presenten demasiada complejidad. Una de sus características principales, además de

su sencillez de empleo, es que está pensado para su manejo en forma de diálogo con el

ordenador, como corresponde al uso de intérprete en lugar de compilador. Cuando se

realiza un programa en Basic, el programador o usuario va introduciendo sus instrucciones

en el ordenador y el intérprete le va diciendo, una a una, si es correcta o no, para que en

este último caso la modifique convenientemente.

La sencillez en el manejo de Basic y el pequeño tamaño de memoria central de los

ordenadores que requieren han sido los elementos clave para su incorporación a los

equipos de dimensiones reducidas, lo que le ha dado una popularidad y una difusión

tremendas. Muchos de los aficionados a estos temas y de los profesionales que se

introducen por primera vez en el mundo de la informática lo hacen a través de Basic.

Actualmente existen en el mercado numerosos compiladores de Basic y algunos de ellos

tan completos y estructurados, que no tienen nada que envidiar a otros lenguajes como

Pascal. Además el tratamiento de archivos se ha perfeccionado de tal manera que ni el

mismo Cobol le puede hacer sombra. Existen también versiones para entornos gráficos que

se basan en la programación para entorno objeto, con instrucciones altamente

especializadas.

Otro lenguaje de alto nivel muy extendido es Cobol (Common BusinessOriented

Language), que además es históricamente el primer lenguaje se este tipo que se desarrolló.

Cobol está diseñado para su aplicación en ambientes administrativos y comerciales, ya que

trata con facilidad grandes cantidades de datos. La realización de nóminas o la gestión de

actividades bancarias son dos ejemplos de actividades corrientes, detrás de las que están

programas escritos en Cobol.

Fortran es un lenguaje muy potente para el tipo de tareas para el que está diseñado, pero

su evolución a lo largo de los últimos años ha sido muy pequeña. Así, por ejemplo, no se le

Page 3: Lenguaje Maquina

han añadido posibilidades para el tratamiento de gráficos o para el desarrollo de juegos. El

resultado de todo ello es que Fortran ha seguido en su sitio, pero sin ganar nuevos campos

de aplicación.

Con una concepción mucho más moderna apareció, a finales de la década de los sesenta, el

lenguaje Pascal. Este fue diseñado para facilitar la formación de alumnos en temas de

programación informática. Su principal característica es que es un lenguaje que permite la

programación estructurada, por lo que los programas escritos con él son muy compactos,

presentan una estructura muy simple y tienen un diseño lógico coherente.

Pascal es probablemente, después de Basic, el lenguaje de programación más difundido en

el terreno de los microprocesadores.

En la actualidad uno de los lenguajes que más reconocimiento tiene a nivel profesional, es

el lenguaje C. Este ofrece un juego de instrucciones muy reducido, con una gran cantidad

de funciones de librería las cuales las podremos ir enriqueciendo con nuevas funciones

escritas a la medida de nuestras necesidades. Es de destacar el elevado grado de

portabilidad que posee. Es un lenguaje estructurado. Es un lenguaje de alto nivel utilizado

para la implementación de Sistemas Operativos y Lenguajes de alto nivel, como para la

realización de Utilidades y Programas de Aplicación. Por otra parte posee características de

relativamente bajo nivel (manejo de direcciones de memoria, acceso a funciones de

entrada/salida, etc.).

Entre la pléyade de otros lenguajes de alto nivel que se pueden encontrar en el mercado,

conviene no olvidarse de Logo basado en lenguajes para inteligencia artificial y que

incorpora numerosas posibilidades para que los niños aprendan a razonar; Lisp y Prolog,

lenguajes diseñados específicamente para la realización de programas que siguen los

principios de la inteligencia artificial; y Ada lenguaje especializado en la programación de

sistemas informáticos controlados por microprocesador y que se utiliza bastante en

aplicaciones militares.

Con las posibilidades de la transmisión de datos, los ordenadores se pueden comunicar

entre sí a grandes distancias, permitiendo la aparición de nuevos servicios y prestaciones.

Lenguaje máquina

Page 4: Lenguaje Maquina

El lenguaje propio del ordenador, basado en el sistema binario, o código máquina, resulta difícil de utilizar para las personas. El programador debe introducir todos y cada uno de los comandos y datos en forma binaria, y una operación sencilla como comparar el contenido de un registro con los datos situados en una ubicación del chip de memoria puede tener el siguiente formato: 11001010 00010111 11110101 00101011. La programación en lenguaje máquina es una tarea tan tediosa y consume tanto tiempo que muy raras veces lo que se ahorra en la ejecución del programa justifica los días o semanas que se han necesitado para escribir el mismo.

Aplicación de lenguajes de programaciónLos lenguajes de programación permiten comunicarse con los ordenadores o

computadoras. Una vez identificada una tarea, el programador debe traducirla o

codificarla a una lista de instrucciones que la computadora entienda. Un programa

informático para determinada tarea puede escribirse en varios lenguajes. Según la

función, el programador puede optar por el lenguaje que implique el programa menos

complicado. También es importante que el programador elija el lenguaje más flexible y

más ampliamente compatible para el caso de que el programa tenga varias aplicaciones.

Los ejemplos que se ven en la ilustración son programas escritos para calcular el

promedio de una serie de números. C y BASIC son los lenguajes de computadora más

utilizados. En el recuadro inferior de la ilustración se muestra cómo una computadora

procesará y ejecutará los comandos de los programas.

CodificaciónCódigo máquina. Véase Lenguaje de programación.

La denominación “lenguajes de cuarta generación”, que hace referencia a los

lenguajes del más alto nivel actualmente disponibles, se emplea también para referirse a

algunos de los lenguajes utilizados en los sistemas expertos, y su aparición data de finales

de la década de 1960 y principios de la de 1970. Se entiende que son lenguajes que se

acercan más al usuario, en cuanto al método de consulta y programación, que los del tipo

lenguaje máquina (primera generación), ensamblador (segunda generación) y los de alto

nivel como JAVA, Pascal, BASIC, FORTRAN o C/C++ (tercera generación). El denominado

lenguaje Forth, el CLISP (un derivado avanzado del lenguaje LISP) y el SQL (lenguaje de

consulta estructurado), son ejemplos de lenguajes de cuarta generación; la tendencia

actual es a combinarlos con entornos de desarrollo visuales, que reduzcan drásticamente

Page 5: Lenguaje Maquina

la codificación manual de aplicaciones, centrándose sobre todo en el diseño de

funcionalidades y estrategias de resolución y automatizando la creación del código

necesario. Véase Inteligencia artificial.

Lenguajes de programación

LENGUAJE ORIGEN DEL NOMBRE AÑO USOS/COMENTARIOS

ADA Augusta ADA Byron (Lady Lovelace)

1979 Derivado de Pascal, utilizado principalmente por los militares.

ALGOL ALGOrithmic Language (Lenguaje ALGOL algorítmico)

1960 Primer lenguaje de programación procedural estructurado, utilizado sobre todo para resolver problemas matemáticos.

APL A Programming Language(Un lenguaje de programación)

1961 Lenguaje interpretado que utiliza un amplio conjunto de símbolos especiales y que se caracteriza por su brevedad. Utilizado fundamentalmente por los matemáticos.

BASIC Beginners All-Purpose Symbolic Instruction Code(Código de instrucciones simbólicas multipropósito para principiantes)

1965 Lenguaje de programación de alto nivel, utilizado con frecuencia por programadores principiantes.

C Predecesor del lenguaje de programación B, fue desarrollado en Bell Laboratory, en 1972

1972 Lenguaje de programación compilado y estructurado, que suele utilizarse en numerosos lugares de trabajo porque sus programas pueden transferirse fácilmente entre distintos tipos de computadoras.

COBOL COmmon Business-Oriented Language (Lenguaje simbólico de programación orientado a aplicaciones comerciales)

1959 Lenguaje de programación semejante al idioma inglés, que hace hincapié en las estructuras de datos. De amplia utilización, principalmente en empresas.

FORTH Lenguaje de cuarta (FOuRTH) generación

1970 Lenguaje estructurado e interpretado de fácil ampliación. Ofrece una alta funcionalidad en un espacio reducido.

FORTRAN Formula TRANslation (Traducción de fórmulas)

1954 Diseñado en un principio para usos científicos y de ingeniería, se trata de un lenguaje compilado de alto nivel que hoy se utiliza en numerosos campos. Precursor de diversos conceptos, como las variables, las instrucciones condicionales y las subrutinas compiladas por separado.

LISP LISt Processing (Procesamiento de listas)

1960 Lenguaje de programación orientado a la generación de listas, utilizado principalmente para manipular listas de datos. Lenguaje interpretado que suele utilizarse en las investigaciones y está considerado como el lenguaje estándar en proyectos de inteligencia artificial.

LOGO Derivado del griego logos, 'palabra'.

1968 Lenguaje de programación que suele utilizarse con niños. Presenta un sencillo entorno de dibujo y varias prestaciones de mayor nivel del lenguaje LISP. Fundamentalmente educativo.

Modula-2 Modular LAnguage-2, diseñado como fase secundaria de Pascal

(diseñados ambos por Niklaus Wirth)

1980 Lenguaje que hace hincapié en la programación modular. Es un lenguaje de alto nivel basado en Pascal, que se caracteriza por la ausencia de funciones y procedimientos estandarizados.

Pascal Blaise PASCAL, matemático e inventor del primer dispositivo

1971 Lenguaje compilado y estructurado basado en ALGOL. Agrega tipos y estructuras de datos simplificando la sintaxis.

Page 6: Lenguaje Maquina

de computación. Al igual que el C, se trata de un lenguaje de programación estándar para microcomputadoras.

PILOT Programmed Inquiry, Language Or Teaching (Consulta, lenguaje o aprendizaje de investigación programada)

1969 Lenguaje de programación utilizado fundamentalmente para crear aplicaciones destinadas a instrucciones asistidas por computadora. Se caracteriza por utilizar un mínimo de sintaxis.

PL/1 Programming Language 1(Lenguaje de programación uno)

1964 Diseñado para combinar las principales virtudes del FORTRAN, COBOL y ALGOL, se trata de un lenguaje de programación complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar multitareas, y se emplea en entornos académicos y de investigación.

Aplicación de lenguajes de programaciónLos lenguajes de programación permiten comunicarse con los ordenadores o computadoras. Una vez identificada una tarea, el programador debe traducirla o codificarla a una lista de instrucciones que la computadora entienda. Un programa informático para determinada tarea puede escribirse en varios lenguajes. Según la función, el programador puede optar por el lenguaje que implique el programa menos complicado. También es importante que el programador elija el lenguaje más flexible y más ampliamente compatible para el caso de que el programa tenga varias aplicaciones. Los ejemplos que se ven en la ilustración son programas escritos para calcular el promedio de una serie de números. C y BASIC son los lenguajes de computadora más utilizados. En el recuadro inferior de la ilustración se muestra cómo una computadora procesará y ejecutará los comandos de los programas.

LISTA DE INSTRUCCIONES EN LENGUAJE C PARA CALCULAR EL PROMEDIO DE UNA LISTA DE NÚMEROS

LISTA DE INSTRUCCIONES EN LENGUAJE BASIC PARA CALCULAR EL PROMEDIO DE UNA LISTA DE NÚMEROS

int datos[ ] = { 123, 32, 63, 75, 3, 742, 9648, 65}; Function Promedioint longDatos = 8; Dim Suma as Integerint promedio () Dim Índice as Integer{ Dim Valor as Integerint suma; Suma = 0int prmd; Read LongDatosint índice; For Índice = 1 to LongDatossuma = 0; Read Valorfor (índice = 0; índice <longDatos; índice++) Suma= Suma + Valor{ Next Índicesuma += datos [índice]; Promedio = Suma/LongDatos} End Functionprmd = suma/longDatos;

DATA 8return (prmd); DATA 123, 32, 63, 75, 3, 742, 9648, 65}

INTERPRETACIÓN QUE HACE LA MÁQUINA DE LAS INSTRUCCIONES (LENGUAJE C)1 Define una matriz (datos) de números enteros y le asigna los valores 123,32...65.2 Define una variable (longDatos) perteneciente al dominio de los enteros y le asigna el valor 8.3 Define una función (promedio) que devuelve un número entero.4 Define una variable (suma) perteneciente al dominio de los enteros.5 Define una variable (prmd) perteneciente al dominio de los enteros.6 Define una variable (índice) perteneciente al dominio de los enteros.7 Asigna a suma el valor 0.8 Para cada elemento de la matriz datos, añade su valor a la variable suma.

Page 7: Lenguaje Maquina

9 Asigna a prmd el resultado de dividir la variable suma por la variable longDatos.10 Devuelve como resultado de la función el contenido de la variable prmd.