Aprende ensamblador dibujando pixeles

box-256.png

Aprender a jugando es probablemente la mejor forma de aprender. Esto es aplicable, yo diría, que a cualquier materia. En este caso la idea es aprender ensamblador o más bien la “forma de pensar” cuando nos sentamos a escribir código en ensamblador, ya que dependiendo de la arquitectura dicho lenguaje varía, pero las formas y metodología es prácticamente la misma.

En box-256.com podemos pasar un buen rato jugando con un sistema ficticio de 8bits, con 256 bytes de memoria, 16 colores y pantalla de 16x16. En éste, nuestro objetivo es reproducir exactamente el juego de pixeles de la parte inferior de la column output con el número mínimo de ciclos de CPU.

Si te fijas bien en dicha columna, está dividida en dos partes, la parte superior está inicialmente vacía y la parte inferior tiene una serie de pixels formando un gráfico en uno o varios colores. Nuestro objetivo es reproducir una copia exacta escribiendo código en ensamblador en la parte izquierda de la pantalla, la que además representa la memoria. En la columna derecha disponemos de una ayuda abreviada sobre las instrucciones, tipos de datos y colores de los pixeles.

El juego dispone de una ayuda bastante más amplia la cual puedes consultar aquí, donde encontrarás información más detallada sobre el juego en si, el conjunto de operaciones con sus códigos de operación y sintaxis, el uso de valores constantes, direcciones de memoria y punteros, etc

El primer reto ya viene solucionado y puedes ejecutarlo paso a paso para hacerte una mejor idea de como funciona y cuales son tus objetivos. El juego actualmente dispone de un total de 12 niveles o retos.

Aunque puedes jugar perfectamente desde el navegador, ahí una pequeña pega, y es que no puedes copiar el código al portapapeles, si esto es un problema para ti, puedes descargar una versión de dicho juego para Windows.