Las batallitas de Jesús Alonso (VII)
(Colaborador de MicroHobby y
autor del libro "Curso de Código Máquina")
 

Hola a todos,

Pues sí, algunos pirados ensamblábamos "a mano". No es tan terrible. Te preparas una tablita con los códigos de operación y una buena calculadora que te convierta a hexadecimal. Lo más enredoso es calcular los saltos relativos sobre todo si son hacia atrás, pero a eso tambien te puede ayudar la calculadora.

Cuando salió el Spectrum, no había programas ensambladores para él. Sí es cierto que había ensambladores para Z-80, al fin y al cabo, había bastantes ordenadores "serios" que llevaban esta CPU, todos los que trabajaban en CP/M. Por cierto, por si alguien no sabe qué es el CP/M, es el primer sistema operativo que se escribió para un microprocesador.

Estaba escrito para el Z-80 porque, por aquel entonces, era el mejor micro que había. Su funcionamiento era muy similar al del MS-DOS. De hecho, lo único que hizo Bill Gates fue copiar el CP/M, adaptarlo al 8088 de Intel y llamarlo MS-DOS. Pues bien, algunos afortunados tenían ensambladores para Z-80 que corrían en ordenadores más grandes.

También había quien utilizaba ensambladores cruzados (un ensamblador cruzado es el que corre en una máquina pero genera código para otra) que se ejecutaban sobre procesadores Intel (normalmente, equipos PC-XT). En general eran desarrolladores de juegos. Creo recordar que nuestros queridos Dinamic trabajaban así.

A los que éramos pobres y solo teníamos un Spectrum, no nos quedaba más remedio que ensamblar "a mano". Cuando salió en "GENS 3M" ("GEN" era por "GENerador de código y la "S" por Spectrum. También salio el GENA 3M para Amstrad) fue una bendición del cielo.

No solo teníamos un ensamblador, sino que además era un excelente ensamblador. Cuando escribí el Curso de Código Máquina, lo utilicé para ensamblar los ejemplos y generar los listados. De todas formas, en el Curso se enseñaba a ensamblar a mano por varias razones: Un programador de Assembler que se precie, tiene que saber ensamblar a mano, de la misma forma que tienes que saber dividir a mano aunque habitualmente uses una calculadora.

No todo el mundo disponía del GENS 3M, era un programa caro y dificil de encontrar y, por último, el Curso pretendía enseñar a programar el Z-80 con o sin Spectrum. En esa época no había los magníficos micro-controladores programables directamente en Basic que existen hoy en día (por ejemplo: el "Stamp", etc.) así que si alguien se quería montar un aparatejo que necesitara un micro-controlador, la mejor opción era recurrir a una CPU Z-80, y no tenía por qué tener un Spectrum a mano para programarla.

Con un Z-80, un grabador de eproms y sabiendo ensamblar "a mano", podías hacer lo que te diera la gana. Tiempos épicos. Duros sí, pero emocionantes.

Un abrazo a todos, Jesús.

Volver