banner

Blog

Jul 27, 2023

¿Quién teme al lenguaje ensamblador?

Esta semana, [Al Williams] escribió un gran artículo de reflexión sobre si valía la pena o no aprender un lenguaje ensamblador y cuándo. Los comentarios se desbordaron y nos sorprende que tanta gente básicamente esté de acuerdo con nosotros: sí. Por supuesto, es una multitud de La-Tecnologia, pero todavía no esperaba el amor por los idiomas más primitivos.

Sin embargo, el lenguaje ensamblador no es realmente un solo idioma. Cada chip habla su propio dialecto. Por supuesto que hay similitudes: cada CPU tiene una función de adición, ¿verdad? Pero casi ninguna CPU tiene una sola adición: hay variantes con y sin transporte, almacenamiento y lectura de registros de trabajo o RAM. Y una vez que empiezas a hablar de acceso a la memoria, directo o indirecto, las arquitecturas individuales de los chips exigen diferentes lenguajes ensambladores.

Pero aún así, aunque las formas particulares en que las CPU hacen lo que hacen pueden ser incompatibles desde una perspectiva estrictamente del lenguaje, son mucho más similares en términos de los modismos de programación que aprenderá a lo largo del camino. Así como aprender un conjunto de algoritmos sólidos lo ayudará sin importar qué lenguaje de nivel superior use, aprender los conceptos detrás de la creación de bucles y estructuras de memoria simples a partir de lenguaje ensamblador sin formato le será útil sin importar qué CPU elija.

Solo he escrito lenguaje ensamblador para un puñado de CPU, y no mucho, pero he descubierto que los microcontroladores son los más amigables. Entonces, si desea sumergir los dedos de los pies en esa agua, elija un AVR o un MSP430. O tal vez incluso el nuevo atractivo: un RISC-V. Encontrarás que los conjuntos de instrucciones son lo suficientemente pequeños como para que tengas que hacer la mayor parte del trabajo tú mismo. Y ese es, después de todo, el objetivo de aprender un lenguaje ensamblador: aprender a pensar como el silicio. Si lo tratas como un rompecabezas divertido de resolver, probablemente incluso disfrutes la experiencia.

La pregunta original de [Al] era cuándo se debía aprender un lenguaje ensamblador: antes o después de un lenguaje de nivel superior. Para el 99% de nuestros lectores, diría que la respuesta es ahora mismo.

COMPARTIR