Publicado el 24 de Marzo del 2018
5.062 visualizaciones desde el 24 de Marzo del 2018
905,3 KB
267 paginas
Creado hace 19a (25/12/2004)
J. MARTINEZ VELARDE
El libro de
CODIGO MAQUINA
del SPECTRUM
TERCERA EDICION
PARANINFO S.A.
1986
MADRID
JUAN MARTINEZ VELARDE
Madrid, España
Reservados los derechos para todos los países. Ninguna parte de esta
publicación, incluido el diseño de la cubierta, puede ser reproduci-
do, almacenado o transmitido de ninguna forma, ni por ningún me-
dio, sea éste electrónico, químico, mecánico, electro-óptico, graba-
ción, fotocopia o cualquier otro, sin la previa autorización escrita
por parte de la editorial.
IMPRESO EN ESPAÑA
PRINTED IN SPAIN
ISBN: 84-283-1349-0
Depósito legal: M. 43.155-1985
PARANINFO S.A.
Impreso en Lavel. Los Llanos, nave 6. Humanes (Madrid)
Magallanes, 25- 28015 MADRID
(5-3549)
Introducción ............................................................................................................................ 7
Indice
Parte primera
FUNDAMENTOS
1. EI "jefe" del Spectrum.......................................................................................................... 10
2. La base del Código Máquina................................................................................................ 20
3. Estructura de la RAM........................................................................................................... 33
4. Más sobre el Código Máquina.............................................................................................. 61
Parte segunda
INSTRUCCIONES
5. Pilas y Subrutinas.................................................................................................................. 78
6. Saltos..................................................................................................................................... 91
7. Modos de Direccionamiento............................................................................................... 104
8. Instrucciones Lógicas......................................................................................................... 114
9. Instrucciones de Manipulación de Bit ............................................................................... 124
Parte tercera
PROGRAMAS
10. ¡Usa el Código Máquina! ................................................................................................. 132
11. EI Teclado y el Sonido .................................................................................................... 149
12. Comandos Gráficos .......................................................................................................... 163
13. RELABEL ........................................................................................................................ 189
14. El programa REPLICANTE ............................................................................................ 196
15. Listado de Variables......................................................................................................... 207
APENDICES
A. Lecturas recomendadas...................................................................................................... 236
B. Tabla Hex - Dec - Carácter ............................................................................................... 237
C. Tabla Hex - Dec - Complemento a dos.............................................................................. 239
D. Tabla Código Objeto - Mnemónico................................................................................... 242
E. Tabla Mnemónico - Código Objeto................................................................................... 253
Programa final-sorpresa.......................................................................................................... 260
5
DEDICATORIA:
A mi familia
Introducción
Las posibilidades que ofrece el ordenador doméstico ZX Spectrum (color, sonido, velocidad... )
se aprovechan mínimamente en BASIC, lenguaje que tarde o temprano acaba por resultar lento
y aburrido.
Sin embargo, el ZX Spectrum dispone de un misterioso y excitante lenguaje capaz de reali-
zar, a la máxima velocidad, cualquier función que se le proponga. Estamos hablando del código
máquina.
El usuario inteligente ha buscado por todos los métodos posibles informarse, superar el
BASIC y acercarse al código máquina. Ha adquirido incluso libros ingleses por ser los únicos que
hasta ahora existían sobre el tema, para introducirse en la programación de este lenguaje. Las con-
secuencias, por supuesto, no podían ser peores: no entendía el contenido por cuestiones idiomá-
ticas, llegando a mezclar ideas y conceptos. En definitiva, el potente lenguaje pasaba a ser algo
inescrutable y de suma dificultad. Como mucho se llegaba a saber sumar y restar unos números.
Todos estos libros, que pretendían ser un glosario de las instrucciones del código máquina, care-
cían de ejemplos prácticos que pudieran ser estudiados y servir de prototipo para futuros pro-
gramas.
Tienes en tus manos el verdadero libro de código máquina sobre el Spectrum. Se hace un es-
tudio del lenguaje desde un punto de vista práctico, para que el usuario no sólo comprenda, sino
que también utilice el código máquina.
El libro se divide en cuatro partes:
- La primera explica la base del lenguaje: los componentes, las formas de numeración, los
primeros mnemónicos...
- La segunda introduce al usuario aún más en el lenguaje, mediante el estudio de una serie
de instrucciones.
- La tercera parte profundiza en el código máquina práctico. Todo lo explicado anteriormen-
te se utiliza en la presentación y explicación de rutinas y programas (entre los que hay que
destacar el programa Replicante y el Listado de Variables).
Estos programas servirán de base para los que el lector realice.
- La cuarta y última parte consta de una serie de Apéndices muy útiles para la programación.
El libro interesa al que desea abandonar el BASIC, buscando nuevos horizontes. El usuario de-
be incorporarse a la primera, segunda o tercera parte, según sean sus conocimientos previos (nu-
los, medios o amplios).
7
Sin duda, para todos los usuarios éste es el Libro de Código Máquina del Spectrum.
Juan Martínez Velarde
Madrid
Septiembre de 1984
Para la realización del original del libro se ha utilizado un ZX Spectrum 48K, un ZX Micro-
drive, un Interface ZX 1, un Interface Centronics, una impresora ADMATE DP-80, 10 Cartuchos
de Microdrive de 90 K de capacidad media y el Procesador de Texto "Tasword Two".
8
Parte primera
FUNDAMENTOS
1
El "jefe" del SPECTRUM
Debajo del negro teclado y las minúsculas teclas, entre decenas de soldaduras, circuitos,
elementos cuadrados con muchas patillas, se encuentra el "jefe del Spectrum".
Él es el que sabe todo acerca de la máquina: en que estado se encuentra, que es lo que tiene,
o no que hacer, ...
Cada ordenador tiene un jefe de este tipo. Por supuesto, los ordenadores del mismo modelo
tienen copias exactas del mismo sujeto. Estos cerebros de los ordenadores se denominan micro-
procesadores, y existen varios modelos en el mercado.
El usado por el ZX Spectrum y su antecesor, el ZX81, y el antecesor de éste, el ZX80 . La
"A" indica que es una versión más rápida del Z80.
El Z80 es un microprocesador de origen americano. Se construyó por la compañía Zilog,
de California. Actualmente, el 60 de los ordenadores domésticos disponen de este microproce-
sador.
La energía que hace que el Z80 funcione proviene de la red eléctrica. El transformador
externo modifica la tensión a 9V contínua. Dentro del ordenador se encuentra un segundo trans-
formador, que varía la tensión, esta vez a 5V.
1. EL MICROPROCESADOR PUEDE HABLAR
1.1. Si-No
Se define como lenguaje la "capacidad de comunicación entre dos entes". Esta capacidad es la
base del envío de información entre dos plantas (lenguaje vegetal), entre dos animales (lenguaje
animal), entre dos personas (lenguaje humano), o entre una persona y una máquina (lenguaje de
programación).
Cada uno de los seres que habitan en la tierra tiene un método para expresarse. y los ordena-
dores también.
10
El microprocesador no sabe nada de BASIC. Tampoco entendería el inglés, o la lengua usada
entre nosotros, el español. Realmente el microprocesador se expresa en un lenguaje muy extraño,
el código máquina. Precisamente este libro está dirigido a los que quieren aprender y utilizar este
nuevo lenguaje.
No creas que el Z80 es un personaje algo alocado, por la forma en que habla. Si quiere decir
un "Sí", envía una señal con tensión. Si quiere decir un "No", entonces no la envía. Lamenta-
blemente no conoce otra forma de hablar!
Existe un método para "medir" la información (el número de síes y de noes). Tanto para me-
dir alturas, pesos, información, es necesario definir la unidad básica, sobre la cual se crean las de-
más. No quiero meterme en temas que corresponderían de por sí a la Física, de manera que pa-
saremos directamente a definir la unidad de la información. Imagina una pregunta, que solamente
tenga dos respuestas posibles, por ejemplo: "¿Luce hoy el sol?". Ante esta pregunta, esperaremos
como respuesta un "Sí", o un "No". Para quien hace la pregunta, el "Sí" o el "No" tienen la
misma probabilidad de salir; pues bien, la información que le transmite la respuesta "Sí" o la
respuesta "No", es la unidad mínima de información.
Las unidades usadas para medir la cantidad de información se denominan bits. Su origen in-
glés viene de BInary digiTS (dígitos binarios) , pues precisamente en la base binaria existen dos,
y sólo dos, cifras. Estas son el cero y el uno. La respuesta "Sí" puede estar representada por un
uno. Este uso representará un bit positivo (igual a 1 ). La respuesta "No" puede estar represen-
tada por un cero. Este cero representará un bit nulo (igual a 0). Se dice en estos casos que el
estado del bit es positivo (igual a 1) o negativo (igual a 0).
Si te has fijado, podemos interpretar el e
Comentarios de: El libro del código maquina del Spectrum (0)
No hay comentarios