%PDF-1.4 5 0 obj << /S /GoTo /D (chapter*.1) >> endobj 8 0 obj (Prefacio) endobj 9 0 obj << /S /GoTo /D (chapter.1) >> endobj 12 0 obj (1 Introducci\363n) endobj 13 0 obj << /S /GoTo /D (section.1.1) >> endobj 16 0 obj (1.1 Sistemas de numeraci\363n) endobj 17 0 obj << /S /GoTo /D (subsection.1.1.1) >> endobj 20 0 obj (1.1.1 Decimal) endobj 21 0 obj << /S /GoTo /D (subsection.1.1.2) >> endobj 24 0 obj (1.1.2 Binario) endobj 25 0 obj << /S /GoTo /D (subsection.1.1.3) >> endobj 28 0 obj (1.1.3 Hexadecimal) endobj 29 0 obj << /S /GoTo /D (section.1.2) >> endobj 32 0 obj (1.2 Organizaci\363n del computador) endobj 33 0 obj << /S /GoTo /D (subsection.1.2.1) >> endobj 36 0 obj (1.2.1 La Memoria) endobj 37 0 obj << /S /GoTo /D (subsection.1.2.2) >> endobj 40 0 obj (1.2.2 La CPU) endobj 41 0 obj << /S /GoTo /D (subsection.1.2.3) >> endobj 44 0 obj (1.2.3 La familia de CPU 80x86) endobj 45 0 obj << /S /GoTo /D (subsection.1.2.4) >> endobj 48 0 obj (1.2.4 Registros de 16 bits del 8086 ) endobj 49 0 obj << /S /GoTo /D (subsection.1.2.5) >> endobj 52 0 obj (1.2.5 Registros de 32 bits del 80386) endobj 53 0 obj << /S /GoTo /D (subsection.1.2.6) >> endobj 56 0 obj (1.2.6 Modo Real \040) endobj 57 0 obj << /S /GoTo /D (subsection.1.2.7) >> endobj 60 0 obj (1.2.7 Modo protegido de 16 bits \040) endobj 61 0 obj << /S /GoTo /D (subsection.1.2.8) >> endobj 64 0 obj (1.2.8 Modo protegido de 32 bits) endobj 65 0 obj << /S /GoTo /D (subsection.1.2.9) >> endobj 68 0 obj (1.2.9 Interrupciones) endobj 69 0 obj << /S /GoTo /D (section.1.3) >> endobj 72 0 obj (1.3 Lenguaje ensamblador) endobj 73 0 obj << /S /GoTo /D (subsection.1.3.1) >> endobj 76 0 obj (1.3.1 Lenguaje de m\341quina) endobj 77 0 obj << /S /GoTo /D (subsection.1.3.2) >> endobj 80 0 obj (1.3.2 Lenguaje ensamblador) endobj 81 0 obj << /S /GoTo /D (subsection.1.3.3) >> endobj 84 0 obj (1.3.3 Operandos de las instrucciones) endobj 85 0 obj << /S /GoTo /D (subsection.1.3.4) >> endobj 88 0 obj (1.3.4 instrucciones b\341sicas) endobj 89 0 obj << /S /GoTo /D (subsection.1.3.5) >> endobj 92 0 obj (1.3.5 Directivas) endobj 93 0 obj << /S /GoTo /D (subsection.1.3.6) >> endobj 96 0 obj (1.3.6 Entrada y Salida ) endobj 97 0 obj << /S /GoTo /D (subsection.1.3.7) >> endobj 100 0 obj (1.3.7 Depuraci\363n) endobj 101 0 obj << /S /GoTo /D (section.1.4) >> endobj 104 0 obj (1.4 Creando un programa) endobj 105 0 obj << /S /GoTo /D (subsection.1.4.1) >> endobj 108 0 obj (1.4.1 Primer programa) endobj 109 0 obj << /S /GoTo /D (subsection.1.4.2) >> endobj 112 0 obj (1.4.2 Dependencias del compilador) endobj 113 0 obj << /S /GoTo /D (subsection.1.4.3) >> endobj 116 0 obj (1.4.3 Ensamblando el c\363digo) endobj 117 0 obj << /S /GoTo /D (subsection.1.4.4) >> endobj 120 0 obj (1.4.4 Compilando el c\363digo de C) endobj 121 0 obj << /S /GoTo /D (subsection.1.4.5) >> endobj 124 0 obj (1.4.5 encadenando los archivos objeto \040) endobj 125 0 obj << /S /GoTo /D (subsection.1.4.6) >> endobj 128 0 obj (1.4.6 Entender un archivo de listado de ensamblador ) endobj 129 0 obj << /S /GoTo /D (section.1.5) >> endobj 132 0 obj (1.5 Archivo esqueleto ) endobj 133 0 obj << /S /GoTo /D (chapter.2) >> endobj 136 0 obj (2 Lenguaje ensamblador b\341sico) endobj 137 0 obj << /S /GoTo /D (section.2.1) >> endobj 140 0 obj (2.1 Trabajando con enteros ) endobj 141 0 obj << /S /GoTo /D (subsection.2.1.1) >> endobj 144 0 obj (2.1.1 Representaci\363n de enteros ) endobj 145 0 obj << /S /GoTo /D (subsection.2.1.2) >> endobj 148 0 obj (2.1.2 Extensi\363n del signo ) endobj 149 0 obj << /S /GoTo /D (subsection.2.1.3) >> endobj 152 0 obj (2.1.3 Aritm\351tica de complemento a dos ) endobj 153 0 obj << /S /GoTo /D (subsection.2.1.4) >> endobj 156 0 obj (2.1.4 Programa de ejemplo) endobj 157 0 obj << /S /GoTo /D (subsection.2.1.5) >> endobj 160 0 obj (2.1.5 Aritm\351tica de precisi\363n extendida \040) endobj 161 0 obj << /S /GoTo /D (section.2.2) >> endobj 164 0 obj (2.2 Estructuras de control) endobj 165 0 obj << /S /GoTo /D (subsection.2.2.1) >> endobj 168 0 obj (2.2.1 Comparaciones \040) endobj 169 0 obj << /S /GoTo /D (subsection.2.2.2) >> endobj 172 0 obj (2.2.2 Instrucciones de ramificaci\363n) endobj 173 0 obj << /S /GoTo /D (subsection.2.2.3) >> endobj 176 0 obj (2.2.3 Instrucciones de bucle) endobj 177 0 obj << /S /GoTo /D (section.2.3) >> endobj 180 0 obj (2.3 Traducir estructuras de control est\341ndares) endobj 181 0 obj << /S /GoTo /D (subsection.2.3.1) >> endobj 184 0 obj (2.3.1 instrucciones if ) endobj 185 0 obj << /S /GoTo /D (subsection.2.3.2) >> endobj 188 0 obj (2.3.2 bucles while ) endobj 189 0 obj << /S /GoTo /D (subsection.2.3.3) >> endobj 192 0 obj (2.3.3 bucles do while ) endobj 193 0 obj << /S /GoTo /D (section.2.4) >> endobj 196 0 obj (2.4 Ejemplo: hallar n\372meros primos) endobj 197 0 obj << /S /GoTo /D (chapter.3) >> endobj 200 0 obj (3 Operaciones con bits) endobj 201 0 obj << /S /GoTo /D (section.3.1) >> endobj 204 0 obj (3.1 Operaciones de desplazamientos) endobj 205 0 obj << /S /GoTo /D (subsection.3.1.1) >> endobj 208 0 obj (3.1.1 Desplazamientos l\363gicos) endobj 209 0 obj << /S /GoTo /D (subsection.3.1.2) >> endobj 212 0 obj (3.1.2 Uso de los desplazamientos) endobj 213 0 obj << /S /GoTo /D (subsection.3.1.3) >> endobj 216 0 obj (3.1.3 Desplazamientos aritm\351ticos) endobj 217 0 obj << /S /GoTo /D (subsection.3.1.4) >> endobj 220 0 obj (3.1.4 Desplazamientos de rotaci\363n) endobj 221 0 obj << /S /GoTo /D (subsection.3.1.5) >> endobj 224 0 obj (3.1.5 Aplicaci\363n simple) endobj 225 0 obj << /S /GoTo /D (section.3.2) >> endobj 228 0 obj (3.2 Operaciones booleanas entre bits) endobj 229 0 obj << /S /GoTo /D (subsection.3.2.1) >> endobj 232 0 obj (3.2.1 La operaci\363n AND ) endobj 233 0 obj << /S /GoTo /D (subsection.3.2.2) >> endobj 236 0 obj (3.2.2 La operaci\363n OR ) endobj 237 0 obj << /S /GoTo /D (subsection.3.2.3) >> endobj 240 0 obj (3.2.3 La operaci\363n XOR ) endobj 241 0 obj << /S /GoTo /D (subsection.3.2.4) >> endobj 244 0 obj (3.2.4 La operaci\363n NOT ) endobj 245 0 obj << /S /GoTo /D (subsection.3.2.5) >> endobj 248 0 obj (3.2.5 La instrucci\363n TEST ) endobj 249 0 obj << /S /GoTo /D (subsection.3.2.6) >> endobj 252 0 obj (3.2.6 Usos de las operaciones con bits) endobj 253 0 obj << /S /GoTo /D (section.3.3) >> endobj 256 0 obj (3.3 Evitando saltos condicionales) endobj 257 0 obj << /S /GoTo /D (section.3.4) >> endobj 260 0 obj (3.4 Manipulando bits en C) endobj 261 0 obj << /S /GoTo /D (subsection.3.4.1) >> endobj 264 0 obj (3.4.1 Las operacones entre bits de C) endobj 265 0 obj << /S /GoTo /D (subsection.3.4.2) >> endobj 268 0 obj (3.4.2 Usando las operaciones entre bits en C) endobj 269 0 obj << /S /GoTo /D (section.3.5) >> endobj 272 0 obj (3.5 Representaciones Littel Endian y Big Endian) endobj 273 0 obj << /S /GoTo /D (subsection.3.5.1) >> endobj 276 0 obj (3.5.1 Cuando tener cuidado con Little and Big Endian) endobj 277 0 obj << /S /GoTo /D (section.3.6) >> endobj 280 0 obj (3.6 Contando bits) endobj 281 0 obj << /S /GoTo /D (subsection.3.6.1) >> endobj 284 0 obj (3.6.1 M\351todo uno) endobj 285 0 obj << /S /GoTo /D (subsection.3.6.2) >> endobj 288 0 obj (3.6.2 M\351todo dos) endobj 289 0 obj << /S /GoTo /D (subsection.3.6.3) >> endobj 292 0 obj (3.6.3 M\351todo tres) endobj 293 0 obj << /S /GoTo /D (chapter.4) >> endobj 296 0 obj (4 Subprogramas) endobj 297 0 obj << /S /GoTo /D (section.4.1) >> endobj 300 0 obj (4.1 Direccionamiento indirecto) endobj 301 0 obj << /S /GoTo /D (section.4.2) >> endobj 304 0 obj (4.2 Sencillo subprograma de ejemplo) endobj 305 0 obj << /S /GoTo /D (section.4.3) >> endobj 308 0 obj (4.3 La pila) endobj 309 0 obj << /S /GoTo /D (section.4.4) >> endobj 312 0 obj (4.4 Las instrucciones CALL y RET ) endobj 313 0 obj << /S /GoTo /D (section.4.5) >> endobj 316 0 obj (4.5 Convenciones de llamado) endobj 317 0 obj << /S /GoTo /D (subsection.4.5.1) >> endobj 320 0 obj (4.5.1 Pasando par\341metros en la pila) endobj 321 0 obj << /S /GoTo /D (subsection.4.5.2) >> endobj 324 0 obj (4.5.2 Variables locales en la pila) endobj 325 0 obj << /S /GoTo /D (section.4.6) >> endobj 328 0 obj (4.6 Programas Multinm\363dulo) endobj 329 0 obj << /S /GoTo /D (section.4.7) >> endobj 332 0 obj (4.7 Interfazando ensamblador con C ) endobj 333 0 obj << /S /GoTo /D (subsection.4.7.1) >> endobj 336 0 obj (4.7.1 Ahorrando registros) endobj 337 0 obj << /S /GoTo /D (subsection.4.7.2) >> endobj 340 0 obj (4.7.2 Etiquetas de funciones) endobj 341 0 obj << /S /GoTo /D (subsection.4.7.3) >> endobj 344 0 obj (4.7.3 Pasando par\341metros) endobj 345 0 obj << /S /GoTo /D (subsection.4.7.4) >> endobj 348 0 obj (4.7.4 Calculando las direcciones de las variables locales) endobj 349 0 obj << /S /GoTo /D (subsection.4.7.5) >> endobj 352 0 obj (4.7.5 Retornando valores) endobj 353 0 obj << /S /GoTo /D (subsection.4.7.6) >> endobj 356 0 obj (4.7.6 Otras convenciones de llamado) endobj 357 0 obj << /S /GoTo /D (subsection.4.7.7) >> endobj 360 0 obj (4.7.7 Ejemplos) endobj 361 0 obj << /S /GoTo /D (subsection.4.7.8) >> endobj 364 0 obj (4.7.8 Llamando funciones de C desde ensamblador) endobj 365 0 obj << /S /GoTo /D (section.4.8) >> endobj 368 0 obj (4.8 Subprogramas entrantes y recursivos) endobj 369 0 obj << /S /GoTo /D (subsection.4.8.1) >> endobj 372 0 obj (4.8.1 Subprogramas recursivos) endobj 373 0 obj << /S /GoTo /D (subsection.4.8.2) >> endobj 376 0 obj (4.8.2 Revisi\363n de tipos de variables seg\372n su alcance en C) endobj 377 0 obj << /S /GoTo /D (chapter.5) >> endobj 380 0 obj (5 Arreglos) endobj 381 0 obj << /S /GoTo /D (section.5.1) >> endobj 384 0 obj (5.1 Introducci\363n) endobj 385 0 obj << /S /GoTo /D (subsection.5.1.1) >> endobj 388 0 obj (5.1.1 Definir arreglos) endobj 389 0 obj << /S /GoTo /D (subsection.5.1.2) >> endobj 392 0 obj (5.1.2 Acdeder a elementos de los arreglos) endobj 393 0 obj << /S /GoTo /D (subsection.5.1.3) >> endobj 396 0 obj (5.1.3 Direccionamiento indirecto m\341s avanzado ) endobj 397 0 obj << /S /GoTo /D (subsection.5.1.4) >> endobj 400 0 obj (5.1.4 Ejemplo) endobj 401 0 obj << /S /GoTo /D (subsection.5.1.5) >> endobj 404 0 obj (5.1.5 Arreglos multidimiensionales ) endobj 405 0 obj << /S /GoTo /D (section.5.2) >> endobj 408 0 obj (5.2 Instrucciones de arreglos/cadenas) endobj 409 0 obj << /S /GoTo /D (subsection.5.2.1) >> endobj 412 0 obj (5.2.1 Leer y escribir en la memoria) endobj 413 0 obj << /S /GoTo /D (subsection.5.2.2) >> endobj 416 0 obj (5.2.2 El prefijo de instrucci\363n REP) endobj 417 0 obj << /S /GoTo /D (subsection.5.2.3) >> endobj 420 0 obj (5.2.3 Comparaci\363n de las instrucciones de cadena) endobj 421 0 obj << /S /GoTo /D (subsection.5.2.4) >> endobj 424 0 obj (5.2.4 Prefijos de instrucci\363n REPx) endobj 425 0 obj << /S /GoTo /D (subsection.5.2.5) >> endobj 428 0 obj (5.2.5 Ejemplo) endobj 429 0 obj << /S /GoTo /D (chapter.6) >> endobj 432 0 obj (6 Punto flotante) endobj 433 0 obj << /S /GoTo /D (section.6.1) >> endobj 436 0 obj (6.1 Representaci\363n de punto flotante ) endobj 437 0 obj << /S /GoTo /D (subsection.6.1.1) >> endobj 440 0 obj (6.1.1 N\372meros binarios no enteros) endobj 441 0 obj << /S /GoTo /D (subsection.6.1.2) >> endobj 444 0 obj (6.1.2 Representaci\363n IEEE de punto flotante ) endobj 445 0 obj << /S /GoTo /D (section.6.2) >> endobj 448 0 obj (6.2 Aritm\351tica de punto flotante) endobj 449 0 obj << /S /GoTo /D (subsection.6.2.1) >> endobj 452 0 obj (6.2.1 suma) endobj 453 0 obj << /S /GoTo /D (subsection.6.2.2) >> endobj 456 0 obj (6.2.2 Resta) endobj 457 0 obj << /S /GoTo /D (subsection.6.2.3) >> endobj 460 0 obj (6.2.3 Multiplicaci\363n y divisi\363n) endobj 461 0 obj << /S /GoTo /D (subsection.6.2.4) >> endobj 464 0 obj (6.2.4 Ramificaciones para programar ) endobj 465 0 obj << /S /GoTo /D (section.6.3) >> endobj 468 0 obj (6.3 El coprocesador num\351rico) endobj 469 0 obj << /S /GoTo /D (subsection.6.3.1) >> endobj 472 0 obj (6.3.1 Hardware) endobj 473 0 obj << /S /GoTo /D (subsection.6.3.2) >> endobj 476 0 obj (6.3.2 Instrucciones) endobj 477 0 obj << /S /GoTo /D (subsection.6.3.3) >> endobj 480 0 obj (6.3.3 Ejemplos) endobj 481 0 obj << /S /GoTo /D (subsection.6.3.4) >> endobj 484 0 obj (6.3.4 F\363rmula cuadr\341tica) endobj 485 0 obj << /S /GoTo /D (subsection.6.3.5) >> endobj 488 0 obj (6.3.5 Leer arreglos de archivos) endobj 489 0 obj << /S /GoTo /D (subsection.6.3.6) >> endobj 492 0 obj (6.3.6 Hallar primos) endobj 493 0 obj << /S /GoTo /D (chapter.7) >> endobj 496 0 obj (7 Estructuras y C++) endobj 497 0 obj << /S /GoTo /D (section.7.1) >> endobj 500 0 obj (7.1 Estructuras) endobj 501 0 obj << /S /GoTo /D (subsection.7.1.1) >> endobj 504 0 obj (7.1.1 Introducci\363n) endobj 505 0 obj << /S /GoTo /D (subsection.7.1.2) >> endobj 508 0 obj (7.1.2 Alineamiento de la memoria) endobj 509 0 obj << /S /GoTo /D (subsection.7.1.3) >> endobj 512 0 obj (7.1.3 Campos de bits) endobj 513 0 obj << /S /GoTo /D (subsection.7.1.4) >> endobj 516 0 obj (7.1.4 Usando estructuras en ensamblador) endobj 517 0 obj << /S /GoTo /D (section.7.2) >> endobj 520 0 obj (7.2 Ensamblador y C++) endobj 521 0 obj << /S /GoTo /D (subsection.7.2.1) >> endobj 524 0 obj (7.2.1 Manipulaci\363n de la sobrecarga de nombres ) endobj 525 0 obj << /S /GoTo /D (subsection.7.2.2) >> endobj 528 0 obj (7.2.2 Referencias) endobj 529 0 obj << /S /GoTo /D (subsection.7.2.3) >> endobj 532 0 obj (7.2.3 Funciones inline) endobj 533 0 obj << /S /GoTo /D (subsection.7.2.4) >> endobj 536 0 obj (7.2.4 Clases) endobj 537 0 obj << /S /GoTo /D (subsection.7.2.5) >> endobj 540 0 obj (7.2.5 Herencia y polimorfismo) endobj 541 0 obj << /S /GoTo /D (subsection.7.2.6) >> endobj 544 0 obj (7.2.6 Otras caracter\355sticas de C++) endobj 545 0 obj << /S /GoTo /D (appendix.A) >> endobj 548 0 obj (A Instrucciones del 80x86) endobj 549 0 obj << /S /GoTo /D (section.A.1) >> endobj 552 0 obj (A.1 Instrucciones para enteros) endobj 553 0 obj << /S /GoTo /D (section.A.2) >> endobj 556 0 obj (A.2 Instrucciones de punto flotante) endobj 557 0 obj << /S /GoTo /D (section*.31) >> endobj 560 0 obj (Index) endobj 561 0 obj << /S /GoTo /D [562 0 R /Fit ] >> endobj 564 0 obj << /Length 258 /Filter /FlateDecode >> stream xڍ=k1eslBZ(2V:8KkW֫GA@V ɉ1bϡo 6{ٱCA%@< 휃HUh'L#X $qӴݛ|O(P({ɐ\>Q 7~,ݙz."d?bFTble
> endobj 565 0 obj << /D [562 0 R /XYZ 100.892 684.134 null] >> endobj 566 0 obj << /D [562 0 R /XYZ 100.892 664.335 null] >> endobj 563 0 obj << /Font << /F18 569 0 R /F19 572 0 R >> /ProcSet [ /PDF /Text ] >> endobj 576 0 obj << /Length 1018 /Filter /FlateDecode >> stream xڍVݏ6 h_FI*Qvz}qbjCxflR2o>Gx*ƣC]f(rǢzǽJ! w,+!J7~9~ED kMYYYѱ;~c$MxϟEݼAدbZdқz.3QB3( Y2>al#ɛX.=H;+UuyFǤ.b+;jx$-+,VIiI<|K@'XR~14xs%IQ7@Bp8u+322Zk.b +ȢCByZ2.MD3%7l#c&:@ `{L6\7 2flY@[RQjoمZzCd]cHcT'ԁYJ&2hC*Wz Wo