[Código Maquina]
[Codigo Maquina]

La diferencia esencial entre un lenguaje de alto nivel, como el BASIC, y el código máquina, es que, mientras el primero se escribe en un lenguaje coloquial empleando como base el idioma inglés, el segundo ahorra memoria y tiempo de proceso a cambio de escribirlo en unos códigos que representan los bits que entiende el microprocesador.

Cuando se manda ejecutar un comando BASIC al ordenador, es el propio programa monitor el que interpreta y ejecuta ese comando. En un programa escrito en BASIC se iría haciendo así por cada comando o instrucción. En cambio, en un programa escrito en código máquina cada instrucción es leída directamente por el microprocesador y ejecutada de inmediato.

Como desventaja, la realización de un programa en código máquina nos exige un planteamiento más minucioso del problema.

Se puede pues deducir que programar en BASIC es más fácil, se emplea un lenguaje casi humano, pero se desperdicia una cantidad tremenda de memoria y tiempo de microprocesador, mientras que con el código máquina se ahorra parte de esa memoria y mucho en tiempo de proceso, pero es necesario usar unos códigos nemotécnicos para facilitar lo que sería una secuencia aparentemente aleatoria.

Este código nemotécnico es lo que se denomina ASSEMBLER.

El curso comenzará por explicar lo que es un código de máquina, analizando las diferencias entre intérprete, ensamblador y compilador. También se verá el porqué de utilizar sistemas de numeración distintos al decimal. Posteriormente se estudiará la arquitectura del microprocesador Z-80 para entrar ya a estudiar todo el repertorio de instrucciones y formatos así como las técnicas de programación de más utilidad. Finalmente, estudiaremos el funcioamiento de un programa ensamblador y los recursos que proporciona.

Durante todos los capítulos se irán viendo ejemplos clarificadores y ejercicios de dificultad ascendente para afianzar los conocimientos.

Para justificar el esfuerzo necesario en aprender a programar en ASSEMBLER o código máquina, hay que tener en cuenta lo siguiente:

a) En el mejor de los casos, en el Spectrum se dispone de 48K de memoria.

b) Los programas de utilidad y los juegos más sofisticados están escritos en este lenguaje.

c) El programa monitor o sistema operativo (almacenado en la ROM) también lo usa, lo que nos permitirá investigarlo.

Por último, añadir que no es necesario dominar el BASIC, es más, ni siquiera conocerlo, para aprender a programar en código máquina, si bien como la lógica es la misma, facilitará su comprensión.