| Prologo |
|
11 | (2) |
| Introduccion |
|
13 | (2) |
| Como usar este libro |
|
15 | (2) |
|
|
|
17 | (20) |
|
|
|
17 | (1) |
|
Los diferentes sistemas de numeracion |
|
|
17 | (2) |
|
|
|
19 | (2) |
|
|
|
21 | (1) |
|
|
|
22 | (3) |
|
Notacion en las diferentes bases |
|
|
25 | (1) |
|
Aritmetica binaria y algebra de Boole |
|
|
25 | (5) |
|
|
|
30 | (2) |
|
Numeros negativos: Aritmetica del complemento a dos |
|
|
32 | (5) |
|
Arquitectura de los ordenadores |
|
|
37 | (20) |
|
|
|
37 | (1) |
|
Estructura basica de un ordenador |
|
|
37 | (9) |
|
Sistemas basados en 80x86: La segmentacion |
|
|
46 | (5) |
|
|
|
51 | (3) |
|
|
|
54 | (3) |
|
Primeros pasos: La instruccion MOV |
|
|
57 | (12) |
|
|
|
57 | (1) |
|
|
|
57 | (12) |
|
|
|
69 | (12) |
|
|
|
69 | (1) |
|
Las instrucciones INC y DEC |
|
|
69 | (2) |
|
Las instrucciones ADD y SUB |
|
|
71 | (2) |
|
|
|
73 | (1) |
|
|
|
73 | (1) |
|
Las instrucciones AND, OR y XOR |
|
|
74 | (1) |
|
Las instrucciones de multiplicacion y division |
|
|
75 | (3) |
|
Multiplicacion de dos numeros de 8 bits, resultado de 16 Bits |
|
|
77 | (1) |
|
Multiplicacion de dos numeros de 16 bits, resultado de 32 bits |
|
|
77 | (1) |
|
Division de un numero de 16 bits entre otro de 8 bits, cociente y resto de 8 bits |
|
|
77 | (1) |
|
Division de un numero de 32 bits entre otro de 16 bits, cociente y resto de 16 bits |
|
|
78 | (1) |
|
Operandos de distinto tamano |
|
|
78 | (3) |
|
Los flags: instrucciones de comparacion |
|
|
81 | (10) |
|
|
|
81 | (1) |
|
|
|
81 | (1) |
|
La limitacion del numero de bits: el flag de acarreo |
|
|
82 | (2) |
|
|
|
84 | (1) |
|
Operar con numeros con signo: el flag de desbordamiento |
|
|
85 | (1) |
|
|
|
86 | (1) |
|
|
|
87 | (1) |
|
|
|
87 | (1) |
|
Uso del flag de acarreo para operar con numeros muy grandes |
|
|
88 | (1) |
|
|
|
89 | (2) |
|
|
|
91 | (14) |
|
|
|
91 | (1) |
|
|
|
91 | (2) |
|
Salto incondicional: la instruccion JMP |
|
|
93 | (2) |
|
|
|
95 | (2) |
|
|
|
97 | (8) |
|
|
|
105 | (14) |
|
|
|
105 | (1) |
|
Estructuras de datos: la pila |
|
|
105 | (2) |
|
|
|
107 | (6) |
|
|
|
113 | (4) |
|
|
|
117 | (2) |
|
|
|
119 | (8) |
|
|
|
119 | (1) |
|
Las interrupciones hardware |
|
|
119 | (5) |
|
Las interrupciones software |
|
|
124 | (3) |
|
|
|
127 | (16) |
|
|
|
127 | (1) |
|
|
|
127 | (1) |
|
|
|
128 | (1) |
|
|
|
129 | (1) |
|
|
|
129 | (1) |
|
Carga de punteros largos: LDS y LES |
|
|
130 | (1) |
|
Rotaciones y desplazamientos |
|
|
131 | (3) |
|
|
|
134 | (9) |
|
El estandar PC: La BIOS y el MS-DOS |
|
|
143 | (8) |
|
|
|
143 | (1) |
|
Estructura general de un PC |
|
|
143 | (1) |
|
|
|
144 | (1) |
|
El sistema operativo MS-DOS |
|
|
145 | (2) |
|
|
|
147 | (1) |
|
Informacion sobre las funciones BIOS y los servicios MS-DOS |
|
|
148 | (1) |
|
El mapa de memoria de un PC |
|
|
148 | (3) |
|
Ejecucion de programas y entorno de desarrollo |
|
|
151 | (28) |
|
|
|
151 | (1) |
|
Los programas en tiempo de ejecucion |
|
|
151 | (4) |
|
|
|
155 | (1) |
|
Formas de un programa en lenguaje ensamblador |
|
|
156 | (3) |
|
Sintaxis del lenguaje ensamblador estandar |
|
|
159 | (9) |
|
|
|
168 | (5) |
|
|
|
173 | (2) |
|
Directivas simplificadas de segmento |
|
|
175 | (3) |
|
|
|
178 | (1) |
|
|
|
179 | (26) |
|
|
|
179 | (1) |
|
|
|
179 | (9) |
|
Salida a traves del MS-DOS |
|
|
180 | (1) |
|
Salida a traves de la BIOS |
|
|
181 | (7) |
|
|
|
188 | (15) |
|
Entrada a traves del MS-DOS |
|
|
188 | (5) |
|
Entrada a traves de la BIOS |
|
|
193 | (10) |
|
Entrada y salida directas al hardware |
|
|
203 | (2) |
|
|
|
205 | (20) |
|
|
|
205 | (1) |
|
Proceso de los accesos a disco a traves del MS-DOS |
|
|
206 | (1) |
|
Metodos de acceso a disco a traves del MS-DOS |
|
|
207 | (1) |
|
Servicios basicos de acceso a disco |
|
|
208 | (8) |
|
Servicios avanzados de acceso a disco |
|
|
216 | (9) |
|
|
|
225 | (10) |
|
|
|
225 | (1) |
|
Organizacion de la memoria bajo MS-DOS |
|
|
225 | (1) |
|
Servicios de gestion de memoria |
|
|
226 | (9) |
|
Interfaz con lenguajes de alto nivel |
|
|
235 | (10) |
|
|
|
235 | (1) |
|
Referencias entre modulos |
|
|
235 | (1) |
|
Modelos de memoria y convenciones de llamada |
|
|
236 | (1) |
|
Interfaz con Turbo Pascal |
|
|
237 | (3) |
|
|
|
240 | (4) |
|
|
|
244 | (1) |
|
|
|
245 | (16) |
|
|
|
245 | (1) |
|
Acceso a los argumentos de linea de comandos |
|
|
245 | (2) |
|
|
|
247 | (6) |
|
|
|
253 | (3) |
|
|
|
256 | (2) |
|
|
|
258 | (3) |
|
Apendice A. Juego de instrucciones de los 80x86 |
|
|
261 | (20) |
|
|
|
261 | (1) |
|
Descripcion de las instrucciones |
|
|
261 | (1) |
|
|
|
262 | (1) |
|
|
|
263 | (18) |
|
Apendice B. El registro de flags. Efecto de las instrucciones sobre estos |
|
|
281 | (6) |
|
|
|
281 | (1) |
|
|
|
281 | (3) |
|
El flag de desbordamiento |
|
|
281 | (1) |
|
|
|
282 | (1) |
|
|
|
282 | (1) |
|
|
|
282 | (1) |
|
|
|
283 | (1) |
|
|
|
283 | (1) |
|
El flag de acarreo auxiliar |
|
|
283 | (1) |
|
|
|
283 | (1) |
|
|
|
283 | (1) |
|
Efecto de las instrucciones sobre los flags |
|
|
284 | (3) |
|
Apendice C. El programa DEBUG |
|
|
287 | (6) |
|
|
|
287 | (1) |
|
|
|
287 | (1) |
|
|
|
287 | (3) |
|
|
|
290 | (1) |
|
|
|
291 | (2) |
| Indice alfabetico |
|
293 | |