EL UNIVERSO DIGITAL | DEL IBM PC, AT Y PS/2 |
Edición 4.0 (4ª) | Ciriaco García de Celis |
PRÓLOGO DE LA EDICIÓN 4.0 ELECTRÓNICA |
0 | PRÓLOGO DE LA TERCERA EDICIÓN (1994) |
1 | INTRODUCCIÓN |
2 | ARQUITECTURA E HISTORIA DE LOS MICROORDENADORES |
3 | MICROPROCESADORES 8086/88, 286, 386, 486 y Pentium |
4 | JUEGO DE INSTRUCCIONES 80x86 |
5 | EL LENGUAJE ENSAMBLADOR DEL 80x86 |
6 | EL ENSAMBLADOR EN ENTORNO DOS |
7 | ARQUITECTURA DEL PC, AT y PS/2 BAJO DOS |
8 | LA GESTIÓN DE MEMORIA DEL DOS |
9 | SUBPROCESOS, RECUBRIMIENTOS Y FILTROS |
10 | PROGRAMAS RESIDENTES |
11 | CONTROLADORES DE DISPOSITIVO |
12 | EL HARDWARE DE APOYO AL MICROPROCESADOR |
13 | EL ENSAMBLADOR Y EL LENGUAJE C |
APÉNDICES |
PRÓLOGO DE LA EDICIÓN 4.0 ELECTRÓNICA |
0 - PRÓLOGO DE LA TERCERA EDICIÓN (1994) |
1 - INTRODUCCIÓN |
1.1 - Números binarios, octales y hexadecimales |
1.2 - Cambio de base |
1.3 - Estructura elemental de la memoria |
1.4 - Operaciones aritméticas sencillas en binario |
1.5 - Complemento a dos |
1.6 - Agrupaciones de bytes |
1.7 - Representación de datos en memoria |
1.8 - Operaciones lógicas en binario |
2 - ARQUITECTURA E HISTORIA DE LOS MICROORDENADORES |
2.1 - Arquitectura Von Neuman |
2.2 - El microprocesador |
2.3 - Breve historia del ordenador personal y el DOS |
3 - MICROPROCESADORES 8086/88, 286, 386, 486 y Pentium |
3.1 - Características generales |
3.2 - Registros del 8086 y del 286 |
3.3 - Registros del 386 y procesadores superiores |
3.4 - Modos de direccionamiento |
3.5 - La pila |
3.6 - Un programa de ejemplo |
4 - JUEGO DE INSTRUCCIONES 80x86 |
4.1 - Descripción completa de las instrucciones |
4.1.1 - De carga de registros y direcciones |
4.1.2 - De manipulación del registro de estado |
4.1.3 - De manejo de la pila |
4.1.4 - De transferencia de control |
4.1.5 - De entrada/salida |
4.1.6 - Aritméticas |
4.1.7 - Manipulación de cadenas |
4.1.8 - Operaciones lógicas a nivel de bit |
4.1.9 - De control del procesador |
4.1.10 - De rotación y desplazamiento |
4.2 - Resumen alfabético de las instrucciones y banderines. Indice. |
4.3 - Instrucciones específicas del 286, 386 y 486 en modo real |
5 - EL LENGUAJE ENSAMBLADOR DEL 80x86 |
5.1 - Sintaxis de una línea en ensamblador |
5.2 - Constantes y operadores |
5.2.1 - Constantes |
5.2.2 - Operadores aritméticos |
5.2.3 - Operadores lógicos |
5.2.4 - Operadores relacionales |
5.2.5 - Operadores de retorno de valores |
5.2.6 - Operadores de atributos |
5.3 - Principales directivas |
5.3.1 - De definición de datos |
5.3.2 - De definición de símbolos |
5.3.3 - De control del ensamblador |
5.3.4 - De definición de segmentos y procedimientos |
5.3.5 - De referencias externas |
5.3.6 - De definición de bloques |
5.3.7 - Condicionales |
5.3.8 - De listado |
5.4 - Macros |
5.4.1 - Definición y borrado de las macros |
5.4.2 - Ejemplo de una macro sencilla |
5.4.3 - Parámetros formales y parámetros actuales |
5.4.4 - Etiquetas dentro de macros. Variables locales. |
5.4.5 - Operadores de macros |
5.4.6 - Directivas útiles para macros |
5.4.7 - Macros avanzadas con número variable de parámetros |
5.5 - Programación modular y paso de parámetros |
6 - EL ENSAMBLADOR EN ENTORNO DOS |
6.1 - Tipos de programas ejecutables bajo DOS |
6.2 - Ejemplo de programa de tipo COM |
6.3 - Ejemplo de programa de tipo EXE |
6.4 - Proceso de ensamblaje |
6.5 - La utilidad DEBUG/SYMDEB |
6.6 - Las funciones del DOS y de la BIOS |
7 - ARQUITECTURA DEL PC, AT y PS/2 BAJO DOS |
7.1 - Las interrupciones |
7.2 - La memoria. Los puertos de entrada y salida. |
7.3 - La pantalla en modo texto |
7.4 - La pantalla en modo gráfico |
7.4.1 - Modos gráficos |
7.4.2 - Detección de la tarjeta gráfica instalada |
7.4.3 - Introducción al estándar gráfico VGA |
7.4.4 - Ejemplo de gráficos empleando la BIOS. Trazado de líneas en CGA |
7.4.5 - Ejemplo de gráficos a nivel hardware. Circunferencias en VGA |
7.4.6 - El estándar gráfico VESA |
7.5 - El teclado |
7.5.1 - Bajo nivel |
7.5.2 - Nivel intermedio |
7.5.3 - Alto nivel |
7.6 - Los discos |
7.6.1 - Estructura física |
7.6.2 - Cabeza 0. Pista 0. Sector 1. |
7.6.3 - La FAT |
7.6.4 - El directorio raiz |
7.6.5 - Los subdirectorios |
7.6.6 - El BPB y el DPB |
7.6.7 - La BIOS y los disquetes |
7.6.8 - Disquetes floptical 3½ de 20 Mb |
7.6.9 - Ejemplo de acceso al disco a alto nivel |
7.6.10 - Ejemplo de acceso al disco a bajo nivel |
7.7 - El PSP |
7.8 - El proceso de arranque del PC |
7.9 - Formato de las extensiones ROM |
7.10 - Formato físico de los ficheros EXE |
8 - LA GESTIÓN DE MEMORIA DEL DOS |
8.1 - Tipos de memoria en un PC |
8.2 - Bloques de memoria |
8.2.1 - El bloque de memoria del programa |
8.2.2 - El bloque del entorno |
8.2.3 - Los bloques de control de memoria (MCB's) |
8.2.4 - La cadena de los bloques de memoria |
8.2.5 - Relación entre bloque de programa y de entorno |
8.2.6 - Tipos de bloques de memoria |
8.2.7 - Liberar el espacio de entorno en programas residentes |
8.2.8 - Peculiaridades del MS-DOS 4.0 y 5.0 |
8.2.9 - Cómo recorrer los bloques de memoria. Ejemplo. |
8.3 - Memorias extendida y superior XMS |
8.4 - Memoria expandida EMS |
9 - SUBPROCESOS, RECUBRIMIENTOS Y FILTROS |
10 - PROGRAMAS RESIDENTES |
10.1 - Principios básicos |
10.2 - Un ejemplo sencillo |
10.3 - Localización de un programa residente |
10.3.1 - Método de los vectores de interrupción |
10.3.2 - Método de la cadena de bloque de memoria |
10.3.3 - Método de la interrupción Multiplex |
10.4 - Expulsión de un programa residente de la memoria |
10.5 - Gestión avanzada de la interrupción Multiplex |
10.5.1 - El convenio BMB Compuscience |
10.5.2 - El convenio CiriSOFT |
10.5.3 - La propuesta AMIS |
10.5.4 - Comparación entre métodos |
10.6 - Métodos especiales para economizar memoria |
10.7 - Programas autoinstalables en memoria superior |
10.8 - Programas residentes en memoria extendida con DR-DOS 6.0 |
10.9 - Ejemplo de programa residente que utiliza la BIOS |
10.10 - Uso sin límites de servicios del DOS en programas residentes |
10.10.1 - Una primera aproximación |
10.10.2 - Pasos a realizar para usar el DOS |
10.10.3 - Resumiendo, ¡no es tan difícil! |
10.10.4 - Un método alternativo: el SDA |
10.10.5 - Métodos menos ortodoxos |
10.11 - Ejemplo de programa residente que utiliza el DOS |
10.12 - Programas residentes invocables en modos gráficos |
10.13 - Programas residentes en entorno WINDOWS 3 |
11 - CONTROLADORES DE DISPOSITIVO |
11.1 - Introducción |
11.2 - Encabezamiento y palabra de atributos |
11.3 - Rutinas de estrategia e interrupción |
11.4 - Ordenes a soportar por el controlador de dispositivo |
11.5 - La cadena de controladores de dispositivo instalados |
11.6 - Ejemplo de controlador de dispositivo de caracteres |
11.7 - Ejemplo de controlador de dispositivo de bloques |
11.7.1 - Disco virtual TURBODSK: Características |
11.7.2 - Ensamblando TURBODSK |
11.7.3 - Análisis detallado del listado de TURBODSK |
11.8 - Los controladores de dispositivo y el DOS |
12 - EL HARDWARE DE APOYO AL MICROPROCESADOR |
12.1 - La arquitectura del ordenador compatible |
12.2 - El interfaz de periféricos 8255 |
12.2.1 - Descripción del integrado |
12.2.2 - El 8255 en el PC |
12.2.3 - Un método para averiguar la configuración del PC/XT |
12.3 - El temporizador 8253 u 8254 |
12.3.1 - Descripción del integrado |
12.3.2 - El 8254 en el ordenador |
12.3.3 - Temporización |
12.3.4 - Síntesis de sonido |
12.4 - El controlador de interrupciones 8259 |
12.4.1 - Cómo y por qué de las interrupciones |
12.4.2 - Descripción del integrado 8259 |
12.4.3 - El 8259 dentro del ordenador |
12.4.4 - Ejemplo: cambio de la base de las interrupciones |
12.5 - El chip DMA 8237 |
12.5.1 - El acceso directo a memoria |
12.5.2 - Descripción del integrado 8237 |
12.5.3 - El 8237 en el ordenador |
12.5.4 - Ralentizar un equipo AT con el DMA |
12.5.5 - Acerca de las páginas de DMA |
12.6 - El controlador de disquetes NEC 765 |
12.6.1 - La tecnología de grabación en disco |
12.6.2 - Descripción del FDC (Floppy Disk Controller) 765 |
12.6.3 - El 765 dentro del ordenador |
12.6.4 - Densidades de disco y formatos estándar |
12.6.5 - Acceso a disco con DMA |
12.6.6 - Lectura y escritura de sectores de disco sin DMA |
12.6.7 - Programación avanzada del controlador de disquetes: 2M 3.0 |
12.6.7.1 - Formato de la primera pista |
12.6.7.2 - Puntualizaciones sobre el formato de máxima capacidad |
12.6.7.3 - Descripción de funcionamiento del soporte residente |
12.6.7.4 - Descripción del programa de formateo (2MF) para 2M |
12.6.7.5 - Un programa para medir el rendimiento de los disquetes |
12.6.7.6 - La versión para PC/XT de 2M: 2MX |
12.6.7.7 - La opción BIOS de 2M: 2M-ABIOS y 2M-XBIOS |
12.6.7.8 - La utilidad 2MDOS |
12.6.7.9 - Cómo superar los 2.000.000 de bytes en 3½: 2MGUI |
12.6.7.10 - Uso de 2M 3.0 en OS/2 2.1 |
12.7 - El disco duro del AT (IDE, MFM, Bus Local) |
12.7.1 - El interface |
12.7.2 - Programación de la controladora |
12.7.3 - Ejemplo práctico de programación |
12.8 - El controlador del teclado: 8042 |
12.8.1 - El 8042 |
12.8.2 - El teclado del AT |
12.8.3 - Comunicación CPU - teclado |
12.8.4 - Comunicación teclado - CPU |
12.9 - El puerto serie: UART 8250 |
12.9.1 - Descripción del integrado |
12.9.2 - El 8250 en el ordenador |
12.9.3 - Ejemplo: autodiagnóstico del 8250 |
12.10 - El puerto de la impresora |
12.10.1 - Los registros del puerto paralelo |
12.10.2 - Envío de caracteres |
12.10.3 - Cable NULL-MODEM para conectar dos ordenadores |
12.11 - El ratón |
12.12 - El reloj de tiempo real del AT: Motorola MC146818 |
12.12.1 - Descripción del integrado |
12.12.2 - El MC146818 dentro del ordenador |
12.12.3 - Un método para averiguar la configuración del AT y PS/2 |
13 - EL ENSAMBLADOR Y EL LENGUAJE C |
13.1 - Uso del Turbo C y Borland C a bajo nivel |
13.1.1 - Acceso a los puertos de E/S |
13.1.2 - Acceso a la memoria |
13.1.3 - Control de interrupciones |
13.1.4 - Llamada a interrupciones |
13.1.5 - Cambio de vectores de interrupción |
13.1.6 - Programas residentes |
13.1.7 - Variables globales predefinidas interesantes |
13.1.8 - Inserción de codigo en línea |
13.1.9 - Las palabras clave interrupt y asm |
13.2 - Interfaz C (Borland/Microsoft) - Ensamblador |
13.2.1 - Modelos de memoria |
13.2.2 - Integración de módulos en ensamblador |
APÉNDICES |
I | Mapa de memoria |
II | Tabla de interrupciones del sistema |
III | Tabla de variables de la BIOS |
IV | Puertos de E/S |
V | Códigos de rastreo del teclado |
VI | Tamaños y tiempos de ejecución de las instrucciones |
VII | Señales del slot de expansión ISA |
VIII | Funciones del sistema, la BIOS y el DOS aludidas en este libro |
IX | Especificaciones XMS y EMS: Todas sus funciones |
X | Juego de caracteres ASCII extendido |
XI | Bibliografía |