Programación en Lenguaje Ensamblador

-El Verdadero Lenguaje de las Máquinas-

La Saga del Aprendiz de Programador

Tutorial para Aprender Ensamblador desde Cero

La imagen que acompaña a esta entrada es de la película Matrix. En la escena el protagonista conecta su cerebro a una computadora que le “instala” todos los conocimientos necesarios para hacerlo capaz de pelear. Aunque en la escena original lo que dice no es que ya sabe ensamblador sino kung-fu. Para su desgracia yo no cuento con una máquina como esa para enseñarlos a programar en cosa de minutos ni creo que ustedes quisieran arriesgar sus neuronas de ese modo si la tuviera, sin embargo estoy dispuesto a entrenar a otros interesados en la programación en ensamblador por medio de las entradas que he escrito estos últimos años.

Este es un directorio con todas las entradas sobre ensamblador escritas con los principiantes en mente. Y al escribir estas lineas pienso en dos tipos de lectores muy diferentes: Por un lado están los que solo quieren saber lo mínimo de ensamblador para aprobar una materia de sus estudios de ingeniería en computación y seguir felices con sus vidas administrando bases de datos y construyendo páginas web. Mientras que por el lado opuesto se encuentran aquellos valientes que al menos ya saben o han escuchado hablar de las grandes cosas que es posible hacer sabiendo programar en Ensamblador y en Lenguaje Máquina y están dispuestos a entrenar muy fuerte durante años para poder dominar este lenguaje. Sepan ambos que esto de programar en ensamblador no es algo que se pueda hacer en uno o dos semestres, la única diferencia es que los primeros van a encontrar mis escritos mucho mas ofensivos que los segundos.

Debo de advertirle a los del primer grupo que ya alguien calificó mis escritos como extremadamente ofensivos, por lo que no esperen de mi parte nada de eso que algunos llaman ‘ser políticamente correcto’. Estas entradas están pensadas para alguien que no tenga estudios especializados en computación pero que al menos tenga la suficiente dedicación para leer estas entradas en su totalidad. En cuanto a los del segundo grupo, que ya sabe que esto del ensamblador no lo van a dominar en un semestre y no les importa es probable que las burlas, ataques y demás peleas que van a presenciar en las siguientes entradas les resulten divertidas. Por cierto, este directorio se irá actualizando y reorganizando según lo considere conveniente, así que vengan seguido, y no se olviden que en cuanto ustedes ganen confianza y digan “Ya se ensamblador”, yo estaré ahí para contestarles “Muéstrame”.

Ensamblador desde cero

Una breve introducción de lo que te espera.

Fundamentos del Sistema Binario

Siempre se nos dice que las computadoras trabajan con ceros y unos. Para programar en ensamblador uno debe de ser capaz de entender el sistema de números binarios. En esta entrada se discute un sencillo método para convertir en binario números de 0 a 255. El porqué de estos límites se explican en la siguiente entrada.

Cuantos bits tiene un byte

Esta es hasta ahora la entrada mas leida de toda la historia del blog y por una muy buena razón. Aquí se explica que demonios es eso del bit y el byte, porqué un byte solo puede contener un número entre 0 y 255. Al final un byte es una cajita de 8 bits que puede almacenar un número en el rango mencionado

Prog, Hex and Rock’n’Roll. Sistema Hexadecimal

El sistema de numeración hexadecimal es una manera mas manejable de representar números binarios y permite trabajar con estructuras de datos mucho mejor que si usáramos los números de base 10 que la gente usa todos los dias. Todo lo que es procesable por una computadora puede ser representado por secuencias de números hexadecimales y eso incluye imágenes, texto, música, código y todo lo digitalizable.

Manejo básico de la Memoria

Aquí se explica como se almacenan los datos en una memoria de computadora a nivel software. Piensen en la memoria como una calle con casas numeradas (dirección de memoria) y que en cada una de estas pequeñas casas puede vivir un número (contenido de la memoria). Aquí es donde se ven las ventajas de usar sistema hexadecimal

ASCII-zofrenia o Secretos del Código ASCII

Seguro se han preguntado como hace la computadora para manejar textos si todo lo que puede almacenar y procesar son números binarios. En esta entrada se explica que el Código ASCII fue creado para lograr esto y como las disposición de sus letras no es arbitraria. Existe toda una lógica tras el orden de las letras y los números que pueden ser representados por un byte.

Funcionamiento de un STACK

Un stack es una estructura de datos básica que todas las computadoras utilizan y que incluso algunas implementan por hardware. Stack se traduce al español como ‘pila’ pero no en el sentido de pila de energía sino en el de apilar. Como una pila de libros por lo que les recomiendo usar siempre el término stack para evitar confusiones.

Este no es el fin de la saga, de momento hay muchas entradas que no he alcanzado a incluir aquí y en el futuro tengan por seguro que voy a escribir mas entradas destinadas para los iniciados en la programación en lenguaje máquina. Y recuerden que cuando mas capacitados están para aprender algo nuevo es precisamente cuando son conscientes de que no saben nada.

La última actualización de este directorio fue en febrero 2 del 2012, regresen seguido para ver las actualizaciones.


Pueden empezar por aqui

[SIGUIENTE] Ensamblador desde Cero

febrero 2, 2012 Posted by | Uncategorized | , | 11 comentarios