Tag archive for ‘Ensamblador’

Aprender a programar un Terminator y a Bender de Futurama (o también como aprender a programar un MOS 6502)

by cybercaronte - on Ene 5th 2017 - No Comments

 

https://farm1.staticflickr.com/766/32125758245_2280c0cedb.jpg 

Link

Con el auge de la IA ya sabemos que Skynet está cerca y con ella los famosos Terminator. Como todos sabéis los Terminator están programados con este procesador así que es el momento perfecto para aprender a programar un MOS 6502 y así poder re-programarlo y convertirlo en un Roomba. También nos puede ayudar a programar a nuestro querido Bender de Futurama como podéis ver en la imagen que encabeza este post.

Ahora en serio, la primera pregunta que podemos hacernos es ¿por qué tendría que aprender a programar ensamblador con el microprocesador MOS 6502?. Primero, porque programar siempre es divertido 😉 y mucho más si es en ensamblador. Segundo, porque muchos ordenadores y video consolas clásicas fueron diseñadas utilizando este microprocesador como CPU, por ejemplo: BBC Micro, Atari 2600, Commodore 64, nuestro querido Apple II e incluso la famosa NES. Por otro lado este lenguaje ensamblador también es un buen comienzo para aprender a programar microprocesadores más potentes y además es perfecto para entender el funcionamiento en uno de los niveles más bajos de un ordenador (después del ensamblador sólo te queda el código máquina).

Este fantástico artículo está dividido en los siguientes apartados:

Además puedes practicar directamente en el página web ya que utiliza un simulador de 6502

Le he estado echando un vistazo y si tienes una base mínima de programación, llegarás a entenderlo y programarlo en una tarde (incluso como puedes observar en la lista de apartados, al final crearás un pequeño juego).

Enlace original:

https://skilldrick.github.io/easy6502/

Entradas relacionadas:

Aprende ensamblador dibujando pixeles

by tuxotron - on Abr 12th 2016 - No Comments


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 16×16. 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.

Entradas relacionadas: