Connect with us

BUSCAR EN SINALOAHOY

Tecnología

Reto lúdico: Un ensamblador del 6502 escrito en algún lenguaje moderno

Los procesadores actuales son muy poderosos, corren a velocidades que ya van en los 4 GHz y pueden soportar 64 bits. Estos chips tienen incluido un conjunto de instrucciones que son las que gobiernan lo que hacen los microprocesadores a cada momento. Hay diferentes arquitecturas y conjuntos de instrucciones.

¿Cuáles son las ventajas y desventajas de comprar un teléfono reacondicionado?

Pero en el pasado no tan remoto, llegaron los primeros procesadores, que eran de 8 bits, con un bus de 16 bits de direccionamiento, lo que hacía que pudiesen tener hasta 64K bytes de memoria RAM para poder trabajar. Considerando lo que puede hacerse ahora esta cantidad de memoria parece muy limitante y lo es, porque los sistemas ahora requieren de toda una infraestructura de hardware para poder ejecutarse.

Sin embargo, los procesadores de 8 bits nos enseñaron muchas cosas, entre ellas, a programar en ensamblador, que es el lenguaje más cercano al lenguaje de máquina. Un microprocesador, como el 6502, que fue muy popular en las máquinas Commodore, Atari y Apple II, tenía un conjunto de instrucciones y éste a su vez una serie de modos para direccionar la memoria. Había, por ejemplo, instrucciones para guardar un dato de memoria de manera directa, o bien, que lo guardase en una localidad de memoria especificando un índice que salía de un arreglo. Los modos de direccionamiento enriquecían el lenguaje del procesador y lo que podía hacerse.

Desde luego que los códigos de la máquina tenían ya para ese entonces (principios de los años 1980s), una serie de códigos “mnemotécnicos”, los cuales se asociaban a los valores de las instrucciones porque no hay que olvidar, que al final de cuentas, la máquina solamente usa números. Así, por ejemplo, LDA significaba Load the Accumulator A, un registro del microprocesador y NOP simbolizaba la instrucción de No Operation, es decir, solamente gasta ciclos de reloj.

Con esta lista de pseudo códigos, un programador podía entonces escribir programas y estos se traducían a los códigos numéricos, que formaban el archivo binario que era finalmente un programa “ensamblado” por un sistema llamado “ensamblador”. El ensamblador era pues un editor específico para crear programas al casi más bajo nivel de cómputo y sin tener que escribir los códigos numéricos que representaban las instrucciones. Esta labor tediosa la hacía el ensamblador.

Con el tiempo, los ensambladores crearon un sistema para poner macroinstrucciones, es decir, un grupo de instrucciones en ensamblador que hacían una tarea en particular. Y de pronto el ensamblador era un poco más que un editor de programas, era todo un sistema que daba muchas más facilidades al que codificaba.

Encuentro ahora en la red un ensamblador para el procesador 6502 escrito en BASIC. La ventaja de este enfoque es que el sistema puede trabajar simplemente si se tiene acceso a algún intérprete o compilador del BASIC tradicional. Este ensamblador no requiere además de tener un microprocesador 6502, pero genera código para una máquina de estas características. A todo esto, si no tiene una computadora con un 6502, siempre puede usar un emulador, que los hay por decenas (http://www.6502.org). Si está en ese caso, el programa en BASIC es realmente un “ensamblador cruzado”, es decir, corre en una máquina que soporta un conjunto de instrucciones, pero genera código para otro tipo de procesador.

La idea es pues: ¿sería usted capaz de escribir un ensamblador para un microprocesador como el 6502 o el 6800 (que es igualmente sencillo en sus modos de operación)? El reto tendrá como premio una taza de la Morsa. Si el ganador es de provincia, se le mandará un USB de 8 GB al menos, porque mandar una taza por mensajería es ridículamente costoso. Cabe señalar que este concurso busca simplemente alentar el trabajo de la programación y mostrar que puede ser lúdica. Es un concurso de buena fe. Si hay, por ejemplo, dos o más respuestas satisfactorias, ganará quien la haya mandado primero. El ganador cede su código fuente a la comunidad. Es decir, se promueve el código abierto.

Las respuestas al reto deben mandarlas a morsa@la-morsa.com.

El ejercicio es interesante y quien lo intente seguramente comenzará a tener una visión mucho más rica de lo que hacen los procesadores. Más allá del posible premio, hay una cuestión de satisfacción personal en realizar este tipo de trabajos. Así que manos a la obra, es decir, ¡Manos al teclado!

La entrada Reto lúdico: Un ensamblador del 6502 escrito en algún lenguaje moderno se publicó primero en unocero.

Últimas noticias

Mazatlán

La escultura del venado de 12 metros avanza en su instalación en Mazatlán, donada por un empresario local

Actualización

Obispo Emérito ingresó voluntariamente al hotel donde fue encontrado inconsciente

Internacionales

Descubren cuerpo en el puente colapsado de Baltimore, autoridades confirman hallazgo de trabajador salvadoreño

Sticky Post

Choque entre autobús y tráiler en la Maxipista Culiacán-Mazatlán. Incidente registrado a las 15:00 horas de este jueves, con solo el chofer del autobús...

Internacionales

Pemex exportó 20 mil barriles por día de crudo y derivados a Cuba en el segundo semestre del 2023, confirmado reportes previamente negados

Internacionales

Trump asegura que no se duerme durante su juicio penal en Nueva York, sino que simplemente cierra los ojos para escuchar "intensamente"

Suscríbete y recibe noticias

Tendencia

Concordia

Operativo de vigilancia en la Guasima por supuesto enfrentamiento entre grupos delictivos en Concordia.

Sinaloa

Los usuarios de energía eléctrica en Sinaloa están siendo aconsejados por la CFE.

Sinaloa

La Comisión Nacional del Agua ha cerrado las dos presas más grandes de Sinaloa.

Nacionales

Triste noticia en el mundo del humor: el comediante 'Doña Evelia' falleció tras complicaciones de salud.

Nacionales

El presidente Andrés Manuel López Obrador firma el decreto para la creación del Fondo de Pensiones del Bienestar en México

Mazatlán

El desfile de motocicletas tradicional no se llevará a cabo en el malecón para evitar aglomeraciones.

Mazatlán

Neto Coppel sorprende cantando una famosa canción del regional mexicano acompañado de la banda Brisa Mazatleca.

Nacionales

Video muestra agresión a candidata durante evento en mercado.