Xtreme Booster 馃挭馃拃
martes, 14 de febrero de 2017
mi茅rcoles, 5 de octubre de 2016
Lenguaje de Bajo Nivel Y Que Es Emsamblador
Lenguaje de Bajo Nivel
Un lenguaje de programaci贸n de caracter铆sticas bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y est谩n condicionados por la estructura f铆sica de las computadoras que lo soportan. El uso de la palabra bajo en su denominaci贸n no implica que el lenguaje sea menos potente que un lenguaje de alto nivel, sino que se refiere a la reducida abstracci贸n entre el lenguaje y el hardware. Por ejemplo, se utiliza este tipo de lenguajes para programar tareas cr铆ticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.
Primera Generaci贸n
El lenguaje de programaci贸n de primera generaci贸n, es el lenguaje de c贸digo m谩quina. Es el 煤nico lenguaje que un microprocesador entiende de forma nativa. El lenguaje m谩quina no puede ser escrito o le铆do usando un editor de texto, y por lo tanto es raro que una persona lo use directamente.
Segunda Generaci贸n
El lenguaje de programaci贸n de segunda generaci贸n, es el lenguaje ensamblador. Se considera de segunda generaci贸n porque, aunque no es lenguaje nativo del microprocesador, un programador de lenguaje ensamblador debe conocer la arquitectura del microprocesador (como por ejemplo las particularidades de sus registros o su conjunto de instrucciones).
Ensamblador
El t茅rmino ensamblador (del ingl茅s assembler) se refiere a un tipo de programa inform谩tico que se encarga de traducir unfichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene c贸digo m谩quina, ejecutable directamente por el microprocesador. Para la que se ha generado, en si la funci贸n de un ensamblador es traducir un programa en lenguaje de ensamblador al c贸digo correspondiente en lenguaje de m谩quina. Antes de proseguir conviene diferenciar para no confundirnos por un lado el t茅rmino lenguaje ensamblador, y por otro el t茅rmino ensamblador. El primero ser铆a el lenguaje de programaci贸n como tal, mientras el segundo ser铆a el programa que convierte un fichero escrito en lenguaje ensamblador en c贸digo m谩quina o binario para que le ordenador pueda leerlo. Aunque en el art铆culo hablaremos de ambos y en general se usa ensamblador para ambos indistintamente, t茅cnicamente son cosas distintas,
Evidentemente este lenguaje tiene varias ventajas e inconvenientes. Entre las ventajas tenemos que por supuesto, es m谩s r谩pido y eficiente, m谩s estable y requiere menos recursos.
Las desventajas son sin embargo mucho mayores: para empezar est谩 limitado a las 贸rdenes que el ordenador traiga memorizadas en su placa base, nada m谩s. Y requiere unos conocimientos t茅cnicos muy avanzados, toda vez que cada CPU incluye 贸rdenes distintas e incluso formas distintas de darle esas 贸rdenes, variando seg煤n el modelo, el fabricante... etc... Es por ello, entre otras cosas, que no se ha impuesto en el mercado como lenguaje de programaci贸n para aplicaciones o juegos.
Como se v茅 es un lenguaje de programaci贸n orientado a profesionales que trabajan con hardware, muy 煤til sobre todo para detectar fallos e incompatibilidades entre piezas del PC o chequear el estado de estas.
Como ya dijimos el lenguaje ensamblador debe ser traducido a c贸digo m谩quina para funcionar, y por tanto requiere un ensamblador que lo traduzca a c贸digo binario (a ceros y unos). Pero es el lenguaje m谩s cercano al propio c贸digo que usan los ordenadores. Es por ello que se dice que es un lenguaje de bajo nivel, debido a que est谩 s贸lo un escal贸n por encima del c贸digo m谩quina, y solo permite ejecutar instrucciones sencillas. Los lenguajes de alto nivel son m谩s elaborados y permiten realizar tareas multiples y complejas con una sola orden, mientras que en el que nos ocupa una orden equivale a una instruccion directa.
Existen como hemos visto muchas variantes del lenguaje ensamblador, de hecho una por cada tipo de arquitectura del CPU. Las primeras CPUs apenas ten铆an instrucciones y por tanto eran mucho m谩s sencillas. En la actualidad est谩n en boga los llamados ensambladores de alto nivel, que permiten instrucciones m谩s complejas e incluso cadenas de instrucciones (macros).
Evidentemente este lenguaje tiene varias ventajas e inconvenientes. Entre las ventajas tenemos que por supuesto, es m谩s r谩pido y eficiente, m谩s estable y requiere menos recursos.
Las desventajas son sin embargo mucho mayores: para empezar est谩 limitado a las 贸rdenes que el ordenador traiga memorizadas en su placa base, nada m谩s. Y requiere unos conocimientos t茅cnicos muy avanzados, toda vez que cada CPU incluye 贸rdenes distintas e incluso formas distintas de darle esas 贸rdenes, variando seg煤n el modelo, el fabricante... etc... Es por ello, entre otras cosas, que no se ha impuesto en el mercado como lenguaje de programaci贸n para aplicaciones o juegos.
Como se v茅 es un lenguaje de programaci贸n orientado a profesionales que trabajan con hardware, muy 煤til sobre todo para detectar fallos e incompatibilidades entre piezas del PC o chequear el estado de estas.
Como ya dijimos el lenguaje ensamblador debe ser traducido a c贸digo m谩quina para funcionar, y por tanto requiere un ensamblador que lo traduzca a c贸digo binario (a ceros y unos). Pero es el lenguaje m谩s cercano al propio c贸digo que usan los ordenadores. Es por ello que se dice que es un lenguaje de bajo nivel, debido a que est谩 s贸lo un escal贸n por encima del c贸digo m谩quina, y solo permite ejecutar instrucciones sencillas. Los lenguajes de alto nivel son m谩s elaborados y permiten realizar tareas multiples y complejas con una sola orden, mientras que en el que nos ocupa una orden equivale a una instruccion directa.
Existen como hemos visto muchas variantes del lenguaje ensamblador, de hecho una por cada tipo de arquitectura del CPU. Las primeras CPUs apenas ten铆an instrucciones y por tanto eran mucho m谩s sencillas. En la actualidad est谩n en boga los llamados ensambladores de alto nivel, que permiten instrucciones m谩s complejas e incluso cadenas de instrucciones (macros).
Funcionamiento Y Dise帽o:
El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los c贸digos nemot茅cnicos que aparecen por su c贸digo de operaci贸n correspondiente en sistema binario para la plataforma que se eligi贸 como destino en las opciones espec铆ficas del ensamblador.cc
Ventajas para utilizarlo:
Mayor control de la computadora.
Independencia de lenguaje.
La mayor铆a de las computadoras pueden ensamblar.
Los programas hechos en lenguaje ensamblador son generalmente m谩s r谩pidos y consumen menos recursos del sistema.
Desventajas para no utilizarlo:
Demasiado complejo.
Comprensi贸n m谩s profunda de la computadora.
Errores m谩s frecuentes en el programa.
Mayor tiempo de codificaci贸n.
Dif铆cilmente portable, es decir, un c贸digo escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.
Tipos de ensambladores:
Ensambladores cruzados: Se denominan as铆 a los ensambladores que se utilizan en una computadora que posee el procesador diferente al que tendr谩n las computadoras donde se va a ejecutar el programa objeto producido.
Ensambladores residentes: Son aquellas que permanecen en la memoria principal de la computadora y cargar para su ejecuci贸n al programa objeto producido.
Mayor control de la computadora.
Independencia de lenguaje.
La mayor铆a de las computadoras pueden ensamblar.
Los programas hechos en lenguaje ensamblador son generalmente m谩s r谩pidos y consumen menos recursos del sistema.
Desventajas para no utilizarlo:
Demasiado complejo.
Comprensi贸n m谩s profunda de la computadora.
Errores m谩s frecuentes en el programa.
Mayor tiempo de codificaci贸n.
Dif铆cilmente portable, es decir, un c贸digo escrito para un microprocesador en particular necesita ser modificado muchas veces en su totalidad para poder ser usado en otro microprocesador.
Tipos de ensambladores:
Ensambladores cruzados: Se denominan as铆 a los ensambladores que se utilizan en una computadora que posee el procesador diferente al que tendr谩n las computadoras donde se va a ejecutar el programa objeto producido.
Ensambladores residentes: Son aquellas que permanecen en la memoria principal de la computadora y cargar para su ejecuci贸n al programa objeto producido.
Micro ensambladores: Al programa que indica al int茅rprete de instrucciones de la CPU como debe actuar se le denomina microprograma. El programa que ayuda a realizar esta microprograma se llama micro ensamblador.
Macro ensambladores: Son ensambladores que permiten el uso de macroinstrucciones.
Ensambladores de una fase: Leen una l铆nea y la traducen directamente para producir una instrucci贸n de lenguaje maquina o la ejecuta si se trata de una pseudosinstrucci贸n. Se construye la tabla de s铆mbolos a medida que aparecen las definiciones de variables, etiquetas, etc.
Ensambladores de dos fases: Realiza la traducci贸n en dos etapas: 1° fase leen el programa fuente y construyen la tabla de s铆mbolos, 2° fase vuelve a leer el programa fuente y pueden ir traduciendo totalmente pues reconocen la totalidad de los s铆mbolos.
Cuestionario #2.
Cuestionario #2.
1. ¿Es un sistema digital que transfiere datos?
BUSES DE UN COMPUTADOR
2. ¿Cu谩l es el bus solamente es capaz de transferir los datos bit a bit?
SERIE
3. El bus solamente es capaz de transferir los datos bit a bit
EL BUS SOLAMENTE ES CAPAZ DE TRANSFERIR LOS DATOS BIT A BIT
4. ¿Cu谩l es la funci贸n del bus de un computador?
La funci贸n del bus es la de permitir la conexi贸n l贸gica entre distintos subsistemas de un sistema digital
5. La mayor铆a de los buses est谩n basados en…
Conductores met谩licos
6. ¿C贸mo se transfieren los datos en el bus de un computador?
Por medio de se帽ales el茅ctricas
7. Los buses definen su capacidad de acuerdo a la …
Frecuencia
8. Todos los buses de computador tienen funciones especiales como las…
Interrupciones y las DMA que permiten que un dispositivo perif茅rico acceda a una CPU o a la memoria usando el m铆nimo de recursos.
9. gobierna el uso y acceso a las l铆neas de datos y de direcciones…
Bus de Control
10. ¿Cu谩l es el bus de control?
Es el que gobierna el uso y acceso a las l铆neas de datos y de direcciones
11. . Las se帽ales de control transmiten…
Tanto 贸rdenes como informaci贸n de temporizaci贸n entre los m贸dulos. Mejor dicho, es el que permite que no haya colisi贸n de informaci贸n en el sistema.
12. Es un bus en el cual los datos son enviados por bytes al mismo tiempo…
BUS PARALELO
13. ¿Cu谩l es el bus Paralelo?
Es un bus en el cual los datos son enviados por bytes al mismo tiempo
14. son las encargadas de indicar la posici贸n de memoria o el dispositivo con el que se desea establecer comunicaci贸n
Las l铆neas de direcci贸n
15. ¿Qu茅 son las l铆neas de direcci贸n?
Son las encargadas de indicar la posici贸n de memoria o el dispositivo con el que se desea establecer comunicaci贸n
16. son las encargadas de enviar se帽ales de arbitraje entre los dispositivos. Entre las m谩s importantes est谩n las l铆neas de interrupci贸n, DMA y los indicadores de estado…
Las l铆neas de direcci贸n
17. transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
L铆neas de Datos
18. ¿Cu谩les son las l铆neas de datos?
Transmiten los bits de forma aleatoria de manera que por lo general un bus tiene un ancho que es potencia de 2.
19. ¿Qu茅 es bus de direcciones?
Es un canal del microprocesador totalmente independiente del bus de datos donde se establece la direcci贸n de memoria del dato en tr谩nsito.
20. ¿Qu茅 es lenguaje maquina?
Es el sistema de c贸digos directamente interpretable por un circuito micro programable.
21. Los circuitos micro programables son…
Digitales.
22. Los circuitos digitales se trabajan en…
脕lgebra booleana y del sistema binario en el dise帽o de este tipo de circuitos y en su programaci贸n.
23. es el 煤nico lenguaje que entiende directamente la computadora…
Lenguaje m谩quina
24. Es el lenguaje que utiliza el alfabeto binario
El lenguaje m谩quina
25. El lenguaje maquina al finalizar se debe…
Compilar
Cuestionario
Cuestionario #1.
- Qu茅 es el lenguaje ensamblador?
Es un lenguaje de programaci贸n de bajo nivel
2.¿Por qu茅 no es portable?
Un c贸digo escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra m谩quina distinta.
3.¿Que nos ayuda a implementar?
Una representaci贸n simb贸lica de los c贸digos de m谩quina binarios y otras constantes necesarias para programar una arquitectura de procesador
4.¿Como se define la arquitectura de un procesador?
Se define por el fabricante de hardware y tiene su propio lenguaje ensamblador
5.¿Qu茅 significa CoSeL?
Construction Set Languaje.
6.¿En qu茅 momento fue usado el lenguaje ensamblador?
Fue usado principalmente en los inicios del desarrollo de software, cuando a煤n no se contaba con potentes lenguajes de alto nivel y los recursos eran limitados.
7.¿Para qu茅 se utiliza en la actualidad?
Se utiliza con frecuencia en ambientes acad茅micos y de investigaci贸n, especialmente cuando se requiere la manipulaci贸n directa de hardware, alto rendimiento, o un uso de recursos controlado y reducido.
8.¿Que es un mnem贸nico?
Simbolizan las instrucciones, los registros del procesador, las posiciones de memoria y otras caracter铆sticas del lenguaje.
9.¿Por qu茅 es dif铆cil comprenderlo?
Porque su estructura se acerca al lenguaje m谩quina, es decir, es un lenguaje de bajo nivel.
10.¿Para qu茅 nos puede servir un lenguaje ensamblador?
Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador
11.¿Qu茅 es el dise帽o del lenguaje?
Un lenguaje de programaci贸n.
13.¿Cu谩l es el objetivo del dise帽o del lenguaje?
Est谩 pensando para la programaci贸n evolutiva.
14.¿Para qu茅 se utiliza este tipo de lenguaje?
Para programar tareas cr铆ticas de los sistemas operativos, de aplicaciones en tiempo real o controladores de dispositivos.
15.¿En qu茅 consiste el dise帽o del lenguaje?
En un m茅todo de programaci贸n basado en un ciclo de prueba y error donde se refina un programa hasta conseguir que haga lo que queremos.
16.¿En donde podemos aplicar esta forma de programar?
Donde se desconoce que algoritmo nos llevar谩 a la soluci贸n.
17.¿Para qu茅 se debe usar el estado de interacci贸n?
De esta forma se evita repetir la ejecuci贸n de las instrucciones necesarias para llegar al estado de ejecuci贸n donde queremos realizar pruebas.
18.¿Como implementa CoSeL el estado de interacci贸n?
Implementa esta caracter铆stica mediante un 谩mbito global din谩mico que guarda funciones y variables mientras se utiliza el int茅rprete.
19.¿Para qu茅 es la integraci贸n?
Para la mayor铆a de campos se encuentran librer铆as que implementan las operaciones m谩s comunes.
20.¿Qu茅 es un lenguaje de bajo nivel?
Un lenguaje de programaci贸n de caracter铆sticas bajo nivel es aquel en el que sus instrucciones ejercen un control directo sobre el hardware y est谩n condicionados por la estructura f铆sica de las computadoras que lo soportan.
21.¿Por qu茅 se le llama lenguaje de bajo nivel?
Porque se refiere a la reducida abstracci贸n entre el lenguaje y el hardware.
22.¿Cu谩l es el lenguaje de primera generaci贸n?
El lenguaje de programaci贸n de primera generaci贸n, es el lenguaje de c贸digo m谩quina.
23.¿Cu谩l es el lenguaje de segunda generaci贸n?
El lenguaje de programaci贸n de segunda generaci贸n, es el lenguaje ensamblador.
24.¿En que consiste el lenguaje ensamblador?
Consiste en un conjunto de mnem贸nicos que representan instrucciones b谩sicas para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables.
25.¿Para que un lenguaje sea efectivo en programaci贸n evolutiva tiene que facilitar?
La interacci贸n, la modificaci贸n del programa y aportar instrucciones de alto nivel cercanas al problema.
26.¿Qu茅 se debe hacer en el estado de interacci贸n?
Entre prueba y prueba es interesante guardar el estado de ejecuci贸n.
Suscribirse a:
Entradas (Atom)

