Ir al contenido principal

Ventajas de Programar en Ensamblador

El lenguaje de programador ensamblador es muy conocido por todos los programadores, pero también muy excluido, una pregunta que puede surgir es la siguiente, ¿por qué programar en ensamblador cuando se tienen diversos lenguajes de alto nivel que facilitan el desarrollo? A continuación, se mencionan algunos motivos para ello.
Como se sabe, existen muchos lenguajes de programación de alto nivel como C, C++, C#, JAVA entre otros que presentan muchas características avanzadas y en algunos casos en conjunto con IDE (Integrated Development Environment) aceleran y facilitan mucho la elaboración de software.
Sintaxis Ensamblador. Fuente

Hay que tener en cuenta que estos lenguajes de alto nivel, a pesar de ser muy útiles, muchas veces los programas resultantes requieren de computadoras con recursos informáticos considerables para poder ejecutarse de forma óptima. Recordemos que todo código escrito en lenguaje de alto nivel es transcrito de forma automática a lenguaje ensamblador, y al ser de forma automatizada se genera mucho código extra en los programas que es necesario al traducirlo de esta forma, pero, si el mismo programa, hubiera sido escrito por un programador directamente en ensamblador sería más pequeño y eficiente. Esto ultimo es una de las ventajas de desarrollar en este lenguaje tan particular, existen muchas más como las siguientes.
  • Velocidad: Un código (Programa) bien hecho en ensamblador será más rápido que los desarrollados en lenguajes de alto nivel.
  • Tamaño: Como ya se mencionó, en ensamblador el programador incluye solo el código necesario y no añade código extra como los lenguajes de alto nivel debido a su traducción automatizada.
  • El programador tiene un control más directo con la computadora.
  • Por las razones anteriores, se puede utilizar el ensamblador para obtener la máxima capacidad de una maquina computacional, como dispositivos portátiles (generalmente con menos recursos de computo) y consolas de videojuegos para obtener un rendimiento alto en gráficos.

Evidentemente no todo es perfecto, algunas desventajas pueden ser: un tiempo largo de desarrollo de software, mayor dificultad para entender el código del programa, por lo general los programas solo funcionaran en la arquitectura en la cual se escribió el programa, entre otras.

Hay muchas razonas por la cual se puede optar por programar en ensamblador, hay que analizar el caso, pero como se mencionó hay situaciones en las cuales este lenguaje obtiene todo su potencial del cual los programadores le pueden sacar mucho provecho y de esta manera desarrollar programas más óptimos, aunque evidentemente no debemos olvidarnos del todo de los lenguajes de alto nivel, ya que también tiene sus ventajas.

Referencias:

Comentarios

Entradas populares de este blog

Importancia de los Sistemas Numéricos en la Computación

Un sistema de numeración se define como un conjunto de símbolos y reglas que permiten representar datos numéricos. Además, los sistemas numéricos modernos se caracterizan por ser posicionales, ya que un símbolo tiene un peso según en la posición que se encuentre en la cifra numérica. Existen distintos sistemas numéricos modernos, los más comunes son: ·          Sistema Decimal : 0-1-2-3-4-5-6-7-8-9, (Diez símbolos) ·          Sistema Binario : 0-1, (Dos símbolos) ·          Sistema Octal : 0-1-2-3-4-5-6-7, (Ocho símbolos) ·          Sistema Hexadecimal : 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F, (Dieciséis Símbolos) Todos los sistemas mencionados anteriormente tienen reglas y relaciones que permiten la realización de las operaciones básica que conocemos como la suma, resta, multiplicación, división. L...

Ciclo Fetch Decode Execute

El encargado de ejecutar un programa en una computadora u otro sistema computacional es el CPU, lo realiza siguiendo el llamado ciclo Fetch Decode Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar. Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas: Traer la instrucción: Se obtiene la instrucción desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar, ya sea de memoria, registro o instrucción directamente. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: Se ejecuta la instrucción ya configurada, realiza la tarea indicada, ya sea una suma, resta, almacenar información, extraer información etc. Almacenar: Se almacen...

Estructuras de Control en Ensamblador

En los lenguajes de alto nivel disponemos de estructuras de control como “if” o “else” que nos permiten dar sentido a nuestro código , pero estas estructuras no están presentes en un lenguaje de bajo nivel como el ensamblador o no de la misma forma, como se detalla a continuación. Estructuras Condicionales: Estos tipos son los if, if-else, elif, switch, los más comunes en los lenguajes de alto nivel y los más utilizados. Estas estructuras no están del todo ausentes en lenguaje ensamblador, ya que al fin y al cabo estas instrucciones se convierten a ensamblador, en ensamblador se cuenta con instrucciones como CMP o TEST(Para comparar o evaluar) en el caso de ARM y sus equivalentes en las demás arquitecturas de procesadores. Para poder crear los condicionales se debe utilizar una combinación de estas (CMP, TEST, ...) junto con las instrucciones de Branch, Jump, etc según corresponda. Ejemplos If Else: If Else en Lenguaje C If Else en Lenguaje Ensamblador Estructuras...