Las computadoras usan un lenguaje de ceros y unos para comunicarse. Todo parte de que son entes eléctricos, en donde al final de cuentas hay electricidad o no, que pasa por algún cable. Por ello, las primeras computadoras eran un hartazgo programarlas, porque había prácticamente que codificar en ceros y unos las instrucciones que se le darían a la máquina. Por ello, cuando a alguien se le ocurrió crear un programa que a través de pseudocódigos, palabras inteligibles para los seres humanos, que representaban las instrucciones del más bajo nivel en la computadora, el mundo cambió.
A estos sistemas se les llamó ensambladores. Lo que hacen es tomar el código fuente, el código escrito por un ser humano, y pasarlo a ceros y unos, para después ponerlo en la memoria de la máquina y hacer que se ejecute el programa. En las primeras computadoras caseras, los microprocesadores, el cerebro de esas máquinas, eran de 8 bits, es decir, se podían poner hasta 256 posibles combinaciones de ceros y unos. Y a pesar de la simplicidad, estos equipos hacían francamente maravillas.
La Apple //e usaba un microprocesador 6502. Este chip de 8 bits y corría a 1 MHz (2 en el mejor de los casos) en la maquinita de Apple y muchos de nosotros -que aún programamos- aprendimos muchos de los trucos inmersos en este procesador. La virtud de aprender a programar en ensamblador (prácticamente código de máquina), es que el programador podía aprender los diferentes modos de direccionamiento, las virtudes de estos y lo que en general hacen aún los procesadores más modernos (que en el fondo usan los mismos principios del 6502). Por ello, fue interesante conocer sobre Easy 6502, el cual es un libro electrónico pequeñito, nomás que con una diferencia: se pueden correr los programas directamente hechos en ensamblador 6502.
Nick Morgan describe al 6502 como un procesador que fue usado masivamente en los años setentas y ochentas del siglo pasado, que fue el corazón de computadoras como la BBC Micro, la Atari 2600, la Commodore 64, la Apple //e, el sistema de entretenimiento de Nintendo, incluso. Bender, en la serie Futurama, usa un procesador 6502 como cerebro. Vaya, hasta Terminator fue programado en 6502.
Todo esto suena muy bien pero seamos francos: el 6502 ya está muerto. ¿Por qué no aprender en todo caso ensamblador para procesadores x86?
Morgan responde: “Bueno, no pienso que aprender ensamblador x86 es útil. No creo que alguien tenga que escribir actualmente en ensamblador en estos días -es un ejercicio puramente académico, algo para expandir la mente y el pensamiento. El 6502 se diseñó en otro tiempo, donde la mayoría de los desarrolladores escribían directamente en ensamblador, en lugar de usar lenguajes de alto nivel. Así que por ello, fue pensado para ser escrito por seres humanos. Muchos ensambladores modernos los usan los compiladores, por lo que déjenselos a ellos. Además, el 6502 es divertido. Nadie llama a x86 divertido”.
Si le echa un vistazo al libro electrónico, pronto estará escribiendo código y viendo qué hace. Es una gran forma de aprender. El libro lo llevará a los elementos básicos, registros, decisiones, modos de direccionamiento, stack, etc. Quizás todo termine demasiado pronto pero al final del día usted tendrá un mejor entendimiento de lo que hacen los ensambladores y sus diferencias con los lenguajes de alto nivel que hoy en día pasan por un proceso de ensamblaje incluso. Se puede aprender ensamblador por lo tanto, entrando a esta página: http://skilldrick.github.com/easy6502/index.html.
–Apro






