Presentación
Prólogo
Introducción
Manejando una calculadora
Álgebra de boole
Ejercicios
Capítulo 1 - CÓDIGO MÁQUINA Y ASSEMBLER
Lenguaje de máquina
Microprocesador imaginario
Supuesto
Codificación
Codificación del supuesto en lenguaje simbólico
Intérpretes y ensambladores
Ejecución
Capítulo 2 - SISTEMAS DE NUMERACIÓN
Sistema decimal
Sistema binario
Operaciones aritméticas en binario
Números negativos
Sistema hexadecimal
Conversión entre bases
Ejercicios
Capítulo 3 - EL MICROPROCESADOR Z-80
Qué es un microprocesador
Registros
Registros especiales de 16 bits
Registros especiales de 8 bits
Registros alternativos
Unidad aritmética-lógica
Registro de instrucciones
Buses
Las interrupciones en el Z-80
Palabra de datos del Z-80
Ciclos y tiempos
Modos de direccionamiento
Instrucciones del Z-80
Capítulo 4 - PROGRAMACIÓN EN ASSEMBLER
Introducción
Realización de un programa
Formatos de instrucción en código máquina
Necesidad de conocer el código máquina
Formatos de instrucción en lenguaje simbólico
Contador de posición
Generación de palabras de datos
Diagramas de flujo
Presentación de las instrucciones
Ejecución de código máquina en el Spectrum
Codificación hexadecimal
Dónde ubicar un programa en código máquina
Capítulo 5 - INSTRUCCIONES DE CARGA
Introducción
Grupo de instrucciones de carga en registros
LD r,r'
LD r,n
LD r,(HL)
LD r,(IX+d)
LD r,(IY+d)
Grupo de instrucciones de carga en memoria
LD (HL),r
LD (IX+d),r
LD (IY+d),r
LD (HL),n
LD (IX+d),n
LD (IY+d),n
Grupo de instrucciones de carga en registro acumulador
LD A,(BC)
LD A,(DE)
LD A,(nn)
LD A,I
LD A,R
Grupo de instrucciones para salvar el registro acumulador
LD (BC),A
LD (DE),A
LD (nn),A
LD I,A
LD R,A
Grupo de instrucciones de carga en registros de 16 bits
LD dd,nn
LD IX,nn
LD IY,nn
LD HL,(nn)
LD dd,(nn)
LD IX,(nn)
LD IY,(nn)
Grupo de instrucciones de carga en memoria, 16 bits
LD (nn),HL
LD (nn),dd
LD (nn),IX
LD (nn),IY
Grupo de instrucciones de carga en registro SP
LD SP,HL
LD SP,IX
LD SP,IY
Grupo de instrucciones de manejo de pila
PUSH qq
PUSH IX
PUSH IY
POP qq
POP IX
POP IY
Una mirada gráfica a la pila
Tablas de codificación
Carga del registro «PC»
Ejemplos
Ejercicios
Capítulo 6 - INSTUCCIONES ARITMÉTICAS Y LÓGICAS
Introducción
Grupo de instrucciones ariméticas para 8 bits
ADD A,r
ADD A,n
ADD A,(HL)
ADD A,(IX+d)
ADD A,(IY+d)
ADC A,r
ADC A,n
ADC A,(HL)
ADC A,(IX+d)
ADC A,(IY+d)
SUB r
SUB n
SUB (HL)
SUB (IX+d)
SUB (IY+d)
SBC A,r
SBC A,n
SBC A,(HL)
SBC A,(IX+d)
SBC A,(IY+d)
Ejemplos
Grupo de incremento y decremento para 8 bits
INC r
INC (HL)
INC (IX+d)
INC (IY+d)
DEC r
DEC (HL)
DEC (IX+d)
DEC (IY+d)
Grupo de instrucciones lógicas
AND r
AND n
AND (HL)
AND (IX+d)
AND (IY+d)
Control de paridad
Grupo de instrucciones lógicas (cont.)
OR r
OR n
OR (HL)
OR (IX+d)
OR (IY+d)
XOR r
XOR n
XOR (HL)
XOR (IX+d)
XOR (IY+d)
Máscaras
Grupo de instrucciones de comparación
CP r
CP n
CP (HL)
CP (IX+d)
CP (IY+d)
Grupo aritmético de 16 bits
ADD HL,ss
ADC HL,ss
SBC HL,ss
ADD IX,pp
ADD IY,rr
Grupo de incremento y decremento para 16 bit
INC ss
INC IX
INC IY
DEC ss
DEC IX
DEC IY
Grupo de instrucciones aritméticas de uso general
CPL
NEG
CCF
SCF
DAA
Ejemplos
Ejercicios
Soluciones a los ejercicios
Capítulo 7 - INSTRUCCIONES DE CAMBIO DE SECUENCIA
Introducción
Instrucciones de salto absoluto
JP n
JP cc,nn
Instrucciones de salto relativo
JR e
JR c,e
JR NC,e
JR Z,e
JR NZ,e
DJNZ e
Bucles
Instrucciones de salto indirecto
JP (HL)
JP (IX)
JP (IY)
Ejemplos
Ejercicios
Soluciones a los ejercicios
Capítulo 8 - INSTRUCCIONES DE INTERCAMBIO, TRANSFERENCIA Y BÚSQUEDA
Grupo de instrucciones de intercambio
EX DE,HL
EX AF,AF'
EXX
EX (SP),HL
EX (SP),IX
EX (SP),IY
Grupo de istrucciones de transferencia
LDI
LDIR
LDD
LDDR
Grupo de instrucciones de búsqueda
CPI
CPIR
CPD
CPDR
Tablas de codificación
Métodos de búsqueda
Ejemplos
Ejercicios
Soluciones a los ejercicios
Capítulo 9 - INSTRUCCIONES DE ROTACIÓN Y DESPLAZAMIENTO
Introducción
Instrucciones de rotación
RLCA
RLA
RRCA
RRA
RLC r
RLC (HL)
RLC (IX+d)
RLC (IY+d)
RL r
RL (HL)
RL (IX+d)
RL (IY+d)
RRC r
RRC (HL)
RRC (IX+d)
RRC (IY+d)
RR r
RR (HL)
RR (IX+d)
RR (IY+d)
Tablas de codificación
Instrucciones de desplazamiento
SLA r
SLA (HL)
SLA (IX+d)
SLA (IY+d)
SRA r
SRA (HL)
SRA (IX+d)
SRA (IY+d)
SRL r
SRL (HL)
SRL (IX+d)
SRL (IY+d)
RLD
RRD
Tablas de codificación
Multiplicación y división con instruccionesd de rotación y desplazamiento
Los archivos de pantalla y atributos
Ejemplos
Los canales de comunicación
Ejercicios
Soluciones a los ejercicios
Capítulo 10 - INSTRUCCIONES DE MANEJO DE BITS
Introducción
Instrucciones de prueba de bits
BIT b,r
BIT b,(HL)
BIT b,(IX+d)
BIT b,(IY+d)
Instrucciones de activar bits
SET b,r
SET b,(HL)
SET b,(IX+d)
SET b,(IY+d)
Instrucciones de borrar bits
RES b,r
RES b,(HL)
RES b,(IX+d)
RES b,(IY+d)
Tablas de codificación
Los «Flags»
Ejemplos
Ejercicios
Soluciones a los ejercicios
Capítulo 11 - GRUPO DE INSTRUCCIONES DE LLAMADA Y RETORNO
Subrutinas
Instrucciones de llamada
CALL nn
CALL cc,nn
Instrucciones de retorno
RET
RET cc
RETI
RETN
Tablas de codificación
Ejemplos
Ejercicios
Soluciones a los ejercicios
Capítulo 12 - GRUPO DE INSTRUCCIONES DE ENTRADA Y SALIDA
Introducción
Instrucciones de entrada
IN A,(n)
IN r,(C)
INI
INIR
INDR
Instrucciones de salida
OUT (n),A
OUT (C),r
OUTI
OTIR
OUTD
OTDR
Tablas de codificación
El teclado del Spectrum
Ejemplos
Ejercicios
Soluciones a los ejercicios
Capítulo 13 - GRUPO DE INSTRUCCIONES DE CONTROL Y CPU
Instrucciones de control
NOP
HALT
Instrucciones relativas a las interrupciones
DI
EI
IM 0
IM 1
IM 2
Tablas de codificación
Ejemplos
Ejercicios
Soluciones a los ejercicios
REPERTORIO ALFABÉTICO DE INSTRUCCIONES
Capítulo 14 - MANEJO DE ENSAMBLADORES
Introducción
Etiqueta
Contador de posiciones
Expresiones
Directivos del ensamblador
EQU
DEFB
DEFW
DEFS
DEFM
IF
ELSE
END
Comandos del ensamblador
E
Hs
S
L-
L+
D-
D+
C-
C+
F
Editor
Comandos del editor
Ensamblaje y puesta en marcha
Comandos de cinta
Comandos de microdrive
Otros comandos
TABLAS DE MANEJO DEL GENS-3
Capítulo 15 - SUBRUTINAS DE LA ROM
Introducción
Rutinas de control de pantalla
Rutinas de cassette y sonido
Rutinas de uso general
Rutinas para manejar el stack del Calculador
El Calculador de la ROM
Literales del Calculador
APÉNDICE INSTRUCCIONES ESPECIALES