Categorías: Informática

¿Qué es lenguaje ensamblador?

Publicado por
Nelson Ochagavía
Compartir

Muchos estudiantes de ingeniería se quejan de que tienen que aprender lenguaje ensamblador. Pero no hay forma de entender realmente cómo funciona un ordenador, si no has escrito al menos par de scripts sencillos en este lenguaje de programación.

¿Qué es lenguaje de ensamblador?

El lenguaje ensamblador, assembly o simplemente asm, es un lenguaje que permite programar casi directamente el hardware de los ordenadores y otros dispositivos electrónicos.

Digo casi pues, en realidad, el ordenador solo entiende el código binario. Pero programar utilizando 0’s y 1’s resulta extremadamente difícil. De ahí surge la necesidad de “traducir” esos 0’s y 1’s, de modo que los humanos los podamos entender. Y eso es justo lo que hace el lenguaje ensamblador: sustituir secuencias de 0’s y 1’s por etiquetas comprensibles.

Para que lo entiendas mejor, pongamos el siguiente ejemplo de instrucción en código binario y ensamblador:

Binario

10110000 01100001

Ensamblador (x86)

MOV a1, 061h

Esta instrucción lo que hace es asignar el valor hexadecimal 061h (01100001 binario, 97 decimal) al registro ‘A1’ del microprocesador (arquitectura x86). Con este ejemplo, es fácil de comprenderqueel lenguaje de ensamblador consiste, básicamente, en “disfrazar” el código binario con fines de manipulación.

Entrada Relacionada

Lenguajes de bajo nivel vs. alto nivel

Por las razones anteriores, el lenguaje ensamblador está clasificado como de bajo nivel. ¿Qué significa esto? En función de su grado de abstracción, es decir por el grado de “omisión” de los detalles, los lenguajes de programación se pueden clasificar en:

  • Lenguajes de bajo nivel. Controlan el hardware de forma directa o cas directa mediante instrucciones que dependen del dispositivo, y que en general resultan difícil de entender por los seres humanos. Ejemplos: código binario, lenguaje máquina y ensamblador.
  • Lenguajes de alto nivel. Toman elementos del lenguaje natural y matemático, y omiten los detalles del hardware para que el programador no tenga que preocuparse por ellos. Ejemplos: C++, Java, Python, PHP, JavaScript, C#, etc.

Como ves, los lenguajes de alto nivel se abstraen (omiten) del hardware, mientras que los de bajo nivel (de abstracción) trabajan con las instrucciones y registros del dispositivo.

Eso significa que hay algunas diferencias, por ejemplo, entre el lenguaje ensamblador para un microprocesador x84, y el usado para un microcontrolador 16F84, ya que los sets de instrucciones son diferentes. De ahí que el programador deba conocer muy bien el dispositivo que desea programar.

Aplicaciones del lenguaje ensamblador

Aunque hoy día existen numerosas herramientas para programar hardware utilizando lenguajes de alto nivel, a veces se impone la necesidad de hacerlo en lenguaje ensamblador, más que nada por razones de eficiencia.

Por eso, es ampliamente utilizado para:

  • programación de microcontroladores
  • depuración y optimización de código
  • ingeniería inversa
  • trabajar con recursos limitados
  • acceder a funciones vedadas a los lenguajes de alto nivel
  • etc.

Además, el asm es muy recomendable si quieres desarrollar habilidades de programación, debido a su complejidad y al hecho de que te obliga a “pensar como una máquina”.

Llegados hasta aquí, ¿qué piensas del lenguaje ensamblador? ¿Te gustaría aprenderlo? ¿O prefieres compartir este artículo para que tus amigos programadores sepan más del tema?

Esta entrada ha sido publicada el 24/01/2020 05:21

Nelson Ochagavía

Especializado en redactar contenidos para SEO en agencia de Marketing Online. Me apasionan escribir sobre cualquier cosa de la que tengo conocimiento, me encanta trasmitir esta información para que todo el mundo pueda estar informado, por ello redacto diariamente en varios blogs, alguno de ellos como hobby, como en este.

Entradas recientes

Tutorial de jQuery Gratis: Aprende a Dominar esta Potente Biblioteca de JavaScript

En el mundo del desarrollo web, jQuery se ha convertido en una herramienta esencial para… Leer más

Averigua si tus vecinos te roban la conexión wifi: Guía completa para proteger tu red

Si eres como la mayoría de las personas, es probable que confíes en tu conexión… Leer más

Agujero de Seguridad en Dispositivos Móviles Rooteados: Protege tu Privacidad y Datos

En la era digital actual, nuestros dispositivos móviles se han convertido en una parte integral… Leer más