ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES. PRÁCTICAS EN ENSAMBLADOR

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES. PRÁCTICAS EN ENSAMBLADOR

LÓPEZ TALAVERA, DIEGO / RUS CASAS, CATALINA / CHARTE, FRANCISCO

39,00 €
IVA incluido
Editorial:
ANAYA MULTIMEDIA, S.A.
Año de edición:
2009
ISBN:
978-84-415-2606-8
Páginas:
496
Encuadernación:
Otros

Disponibilidad:

  • Calle Doce de OctubreConsulte disponibilidad
  • Calle Valeriano MirandaConsulte disponibilidad

Agradecimientos



Introducción

Código fuente



1. Introducción a los microprocesadores

1.1. El sistema microcomputador

1.1.1. Información: Bus de datos e instrucciones

1.1.2. Direcciones: Bus de direcciones

1.1.3. Control: Bus de control

1.2. El microprocesador

1.2.1. Registros

1.2.2. Unidad aritmético-lógica

1.2.3. Unidad de control

1.3. Memorias

1.3.1. Memorias RAM

1.3.2. Memorias ROM

1.4. Periféricos

1.5. Breve reseña sobre la evolución histórica de los microprocesadores INTEL

1.6. Resumen



2. Microprocesador de 8 y 16 bits

2.1. Introducción

2.2. Microprocesador de 8 bits: 8085

2.2.1. Arquitectura

2.2.2. Registros

2.2.3. Unidad aritmético lógica

2.2.4. Buses

2.2.5. Esquema de bloques

2.2.6. Estados y ciclos de ejecución

2.2.7. Terminales del 8085

2.2.8. Interrupciones

2.3. Microprocesadores de 16 bits: 8086

2.3.1. Arquitectura

2.3.2. Registros

2.3.3. Ciclo de bus

2.3.4. Terminales del 8086

2.3.5. Interrupciones 8086

2.4. Resumen



3. Programación en ensamblador

3.1. Introducción

3.2. Programación del 8085

3.2.1. Formato de las instrucciones

3.2.2. Modos de direccionamiento

3.2.3. Juego de instrucciones

3.3. Programación del 8086

3.3.1. Formato de las instrucciones

3.3.2. Modos de direccionamiento

3.3.3. Juego de instrucciones

3.4. Resumen



4. Módulos e interfaces de entrada-salida

4.1. Introducción

4.2. Interfaz de entrada-salida: PPI 8255

4.2.1. Selección del 8255 en un sistema microprocesador

4.3. Interfaz 8279

4.3.1. Estructura del 8279 en un sistema microprocesador

4.4. Módulo PIC 8259

4.5. Módulo 8253

4.6. Resumen



5. El sistema uP-2000

5.1. Descripción de los componentes que forman el sistema

5.2. Uso del teclado del uP-2000

5.3. Los servicios software del uP-2000

5.4. Mapa de memoria del uP-2000

5.5. Resumen



6. Herramientas software

6.1. Entorno uP-2000

6.1.1. Estructura de un programa 8085

6.1.2. Comunicación entre PC y uP-2000

6.2. Entorno simulador 8085

6.2.1. Instalación del simulador

6.2.2. Edición y ensamblado

6.2.3. Carga de un programa

6.2.4. Ejecución de un programa

6.2.5. Otras funciones del simulador

6.3. Entorno x86

6.3.1. Estructura de un programa 8086

6.3.2. Ensamblado y enlazado de un programa

6.3.3. Ejecución de un programa

6.4. Resumen



7. Familiarizarse con el entorno

7.1. Acceso a la memoria del uP-2000

7.1.1. Ejercicio 7.1.1

7.1.2. Ejercicio 7.1.2

7.1.3. Ejercicio 7.1.3

7.2. Acceso a los registros del 8085

7.2.1. Ejercicio 7.2.1

7.2.2. Ejercicio 7.2.2

7.2.3. Ejercicio 7.2.3

7.3. Ejecución de programas

7.3.1. Ejercicio 7.3.1

7.3.2. Ejercicio 7.3.2

7.4. Ejercicios propuestos

7.4.1. Ejercicio 7.4.1

7.4.2. Ejercicio 7.4.2

7.4.3. Ejercicio 7.4.3

7.4.4. Ejercicio 7.4.4

7.4.5. Ejercicio 7.4.5

7.4.6. Ejercicio 7.4.6

7.5. Resumen



8. Ejercicios de programación



9. Acceso a memoria

9.1. Lectura de datos de 8 bits

9.1.1. Ejercicio 9.1.1

9.1.2. Ejercicio 9.1.2

9.1.3. Ejercicio 9.1.3 (8086)

9.2. Modificación de datos de 8 bits

9.2.1. Ejercicio 9.2.1

9.2.2. Ejercicio 9.2.2

9.2.3. Ejercicio 9.2.3 (8086)

9.3. Lectura de datos de 16 bits

9.3.1. Ejercicio 9.3.1

9.3.2. Ejercicio 9.3.2

9.4. Modificación de datos de 16 bits

9.4.1. Ejercicio 9.4.1

9.5. Trabajar con datos de más de 16 bits

9.5.1. Ejercicio 9.5.1

9.5.2. Ejercicio 9.5.2 (8086)

9.6. Ejercicios propuestos

9.6.1. Ejercicio 9.6.1

9.6.2. Ejercicio 9.6.2

9.6.3. Ejercicio 9.6.3

9.6.4. Ejercicio 9.6.4

9.6.5. Ejercicio 9.6.5

9.6.6. Ejercicio 9.6.6

9.7. Resumen



10. Implementación de condicionales y bucles

10.1. Saltos condicionales

10.1.1. Ejercicio 10.1.1

10.1.2. Ejercicio 10.1.2

10.1.3. Ejercicio 10.1.3

10.1.4. Ejercicio 10.1.4 (8086)

10.2. Bucles

10.2.1. Ejercicio 10.2.1

10.2.2. Ejercicio 10.2.2

10.2.3. Ejercicio 10.2.3 (8086)

10.3. Copia de bloques de datos

10.3.1. Ejercicio 10.3.1

10.3.2. Ejercicio 10.3.2 (8086)

10.3.3. Ejercicio 10.3.3

10.4. Ejercicios propuestos

10.4.1. Ejercicio 10.4.1

10.4.2. Ejercicio 10.4.2

10.4.3. Ejercicio 10.4.3

10.4.4. Ejercicio 10.4.4

10.5. Resumen



11. Operaciones aritméticas

11.1. Suma con y sin acarreo (8 y 16 bits)

11.1.1. Ejercicio 11.1.1

11.1.2. Ejercicio 11.1.2

11.1.3. Ejercicio 11.1.3

11.1.4. Ejercicio 11.1.4

11.1.5. Ejercicio 11.1.5 (8086)

11.2. Resta con y sin acarreo (8 y 16 bits)

11.2.1. Ejercicio 11.2.1

11.2.2. Ejercicio 11.2.2

11.2.3. Ejercicio 11.2.3

11.3. Técnicas para multiplicar números

11.3.1. Ejercicio 11.3.1

11.3.2. Ejercicio 11.3.2

11.3.3. Ejercicio 11.3.3 (8086)

11.4. Técnicas para dividir números

11.4.1. Ejercicio 11.4.1

11.4.2. Ejercicio 11.4.2

11.4.3. Ejercicio 11.4.3 (8086)

11.5. Operandos y resultados de más de 16 bits

11.5.1. Ejercicio 11.5.1

11.5.2. Ejercicio 11.5.2

11.5.3. Ejercicio 11.5.3

11.6. Ejercicios propuestos

11.6.1. Ejercicio 11.6.1

11.6.2. Ejercicio 11.6.2

11.6.3. Ejercicio 11.6.3

11.6.4. Ejercicio 11.6.4

11.6.5. Ejercicio 11.6.5

11.6.6. Ejercicio 11.6.6

11.6.7. Ejercicio 11.6.7

11.6.8. Ejercicio 11.6.8

11.6.9. Ejercicio 11.6.9

11.6.10. Ejercicio 11.6.10

11.6.11. Ejercicio 11.6.11

11.7. Resumen



12. Trabajo a nivel de bits

12.1. Activar y desactivar bits concretos

12.1.1. Ejercicio 12.1.1

12.1.2. Ejercicio 12.1.2

12.1.3. Ejercicio 12.1.3

12.1.4. Ejercicio 12.1.4 (8086)

12.2. Comprobar el estado de un bit

12.2.1. Ejercicio 12.2.1

12.3. Rotaciones

12.3.1. Ejercicio 12.3.1

12.3.2. Ejercicio 12.3.2

12.3.3. Ejercicio 12.3.3 (8086)

12.4. Extracción y composición de patrones de bits

12.4.1. Ejercicio 12.4.1

12.4.2. Ejercicio 12.4.2

12.5. Ejercicios propuestos

12.5.1. Ejercicio 12.5.1

12.5.2. Ejercicio 12.5.2

12.5.3. Ejercicio 12.5.3

12.5.4. Ejercicio 12.5.4

12.5.5. Ejercicio 12.5.5

12.5.6. Ejercicio 12.5.6

12.6. Resumen



13. Búsqueda de datos

13.1. Cálculo de direcciones en tablas

13.1.1. Ejercicio 13.1.1

13.1.2. Ejercicio 13.1.2

13.1.3. Ejercicio 13.1.3 (8086)

13.2. Recorrer bloques de más de 256 bytes

13.2.1. Ejercicio 13.2.1

13.3. Búsqueda del máximo y mínimo

13.3.1. Ejercicio 13.3.1

13.3.2. Ejercicio 13.3.2

13.4. Búsqueda y conteo

13.4.1. Ejercicio 13.4.1

13.4.2. Ejercicio 13.4.2 (8086)

13.5. Búsqueda y sustitución

13.5.1. Ejercicio 13.5.1

13.5.2. Ejercicio 13.5.2

13.6. Ejercicios propuestos

13.6.1. Ejercicio 13.6.1

13.6.2. Ejercicio 13.6.2

13.6.3. Ejercicio 13.6.3

13.7. Resumen



14. Estructuración del código

14.1. Escritura de subrutinas

14.1.1. Ejercicio 14.1.1

14.1.2. Ejercicio 14.1.2 (8086)

14.2. Uso de indicadores del registro de estado para comunicar resultados

14.2.1. Ejercicio 14.2.1

14.3. Recepción de argumentos y devolución de resultados

14.3.1. Ejercicio 14.3.1

14.3.2. Ejercicio 14.3.2

14.3.3. Ejercicio 14.3.3

14.4. Ejercicios propuestos

14.4.1. Ejercicio 14.4.1

14.4.2. Ejercicio 14.4.2

14.5. Resumen



15. Ordenar datos

15.1. Implementación del algoritmo de la burbuja

15.1.1. Ejercicio 15.1.1

15.2. Resumen



16. Teclado y visualización en el uP-2000

16.1. Visualización en el campo de direcciones

16.1.1. Ejercicio 16.1.1

16.2. Visualización en el campo de datos

16.2.1. Ejercicio 16.2.1

16.2.2. Ejercicio 16.2.2

16.3. Mostrar el código de la tecla pulsada

16.3.1. Ejercicio 16.3.1

16.3.2. Ejercicio 16.3.2

16.4. Sumar números introducidos por teclado

16.4.1. Ejercicio 16.4.1

16.5. Uso del teclado para elegir opciones de ejecución

16.5.1. Ejercicio 16.5.1

16.6. Ejercicios propuestos

16.6.1. Ejercicio 16.6.1

16.6.2. Ejercicio 16.6.2

16.7. Resumen



17. Teclado y visualización en x86

17.1. Salida de caracteres y secuencias de caracteres

17.1.1. Ejercicio 17.1.1

17.1.2. Ejercicio 17.1.2

17.1.3. Ejercicio 17.1.3

17.2. Mostrar el código de la tecla pulsada

17.2.1. Ejercicio 17.2.1

17.3. Ejercicios propuestos

17.3.1. Ejercicio 17.3.1

17.3.2. Ejercicio 17.3.2

17.4. Resumen



18. Introducción de retardos

18.1. Calcular el tiempo de ejecución de las instrucciones

18.1.1. Ejercicio 18.1.1

18.2. Creación de una rutina de retardo

18.2.1. Ejercicio 18.2.1

18.3. Uso de la rutina de retardo del sistema

18.3.1. Ejercicio 18.3.1

18.3.2. Ejercicio 18.3.2 (8086)

18.4. Visualización temporizada de datos

18.4.1. Ejercicio 18.4.1

18.5. Ejercicios propuestos

18.5.1. Ejercicio 18.5.1

18.5.2. Ejercicio 18.5.2

18.6. Resumen



19. Uso del PPI

19.1. Configuración de los puertos del PPI

19.1.1. Ejercicio 19.1.1

19.2. Envío de datos a través del PPI (iluminación de leds)

19.2.1. Ejercicio 19.2.1

19.2.2. Ejercicio 19.2.2

19.3. Lectura de datos del PPI (microinterruptores)

19.3.1. Ejercicio 19.3.1

19.3.2. Ejercicio 19.3.2

19.4. Ejercicios propuestos

19.4.1. Ejercicio 19.4.1

19.4.2. Ejercicio 19.4.2

19.4.3. Ejercicio 19.4.3

19.5. Resumen



20. Interrupciones

20.1. Rutinas de atención a interrupciones

20.1.1. Ejercicio 20.1.1

20.2. Resumen



A. Soluciones a cuestiones y ejercicios

A.1. Respuestas y soluciones para el capítulo 7

A.2. Respuestas y soluciones para el capítulo 9

A.3. Respuestas y soluciones para el capítulo 10

A.4. Respuestas y soluciones para el capítulo 11

A.5. Respuestas y soluciones para el capítulo 12

A.6. Respuestas y soluciones para el capítulo 13

A.7. Respuestas y soluciones para el capítulo 14

A.8. Respuestas y soluciones para el capítulo 15

A.9. Respuestas y soluciones para el capítulo 16

A.10. Respuestas y soluciones para el capítulo 17

A.11. Respuestas y soluciones para el capítulo 18

A.12. Respuestas y soluciones para el capítulo 19

A.13. Respuestas y soluciones para el capítulo 20



Índice alfabético

Una parte fundamental de las asignaturas relacionadas con el estudio de la arquitectura y tecnología de computadores es la relativa a la programación de microprocesadores, para lo cual se utiliza el lenguaje ensamblador, que permite apreciar las diferencias existentes entre los denominados lenguajes de alto nivel, como C o Pascal, y uno simbólico o de bajo nivel como es el lenguaje ensamblador. La Estructura y Tecnología de Computadores es una materia de estudio obligado para cualquier profesional de la informática, actual o futuro. Con este manual conocerá la arquitectura básica de los microprocesadores y aprenderá a utilizar el conjunto de instrucciones de estos micros para implementar todo tipo de ejercicios, desde los más simples hasta programas que ordenan listas de datos o interactúan con circuitos externos.

Artículos relacionados

  • SIEMPRE ON
    CELLAN-JONES, RORY
    Vivimos en una época en la que miles de millones de personas tienen acceso a una tecnología increíblemente potente. La herramienta más extraordinaria que se ha inventado en el último siglo, el smartphone, ha generado cambios radicales en nuestra forma de vivir y trabajar y, a diferencia de tecnologías anteriores, está en manos de casi todo el mundo. Junto con el auge de las red...

    28,95 €

  • SEGURIDAD DE EQUIPOS INFORMÁTICOS
    El libro constituye una guía completa para aquellos usuarios que quieren proteger su información personal, su privacidad y su seguridad en línea. Con esta obra aprenderá a proteger su información y estar preparados para actuar en caso de una violación de seguridad. Todo el contenido está redactado de forma clara y didáctica, para que sea accesible por cualquier usuario, con o s...

    24,90 €

  • CLICKBAIT
    PARMEGIANI, SIMON
    A kaleidoscopic journey through time, space and the many faces of reality. Sewn from Al's looms, this book represents the glory of machine precision and human creativity, producing a narrative both strange and exciting. In these pages, you will find worlds that are eerily strangely familiar, yet delightfully disparate. From the vibrant underwater fashion scene of Brooklyn to th...

    39,95 €

  • LA INTELIGENCIA ARTIFICIAL EXPLICADA A LOS HUMANOS
    TORRES, JORDI
    Ante el avance de la IA en cada vez más ámbitos de la vida cotidiana, La inteligencia artificial explicada a los humanos propone al lector un acercamiento a esta revolucionaria tecnología a través de un lenguaje cercano y accesible para todos.Un libro divulgativo, ameno y claro que nos ayuda a comprender cómo funciona la IA y aclara algunos de los interrogantes que se plantean ...

    15,00 €

  • MINECRAFT
    AB, MOJANG
    LIBRO OFICIAL DEL VIDEOJUEGO MÁS VENDIDO DE TODOS LOS TIEMPOS MÁS DE 100.000 EJEMPLARES VENDIDOS DE LA SERIE ¿Eres un constructor experto? ¿Buscas inspiración para tu próxima construcción épica? Visita estas 12 construcciones únicas y alucinantes que seguro que despertarán tu imaginación. Aquí aprenderás los mejores trucos y recibirás los mejores consejos, con los que logr...

    20,90 €

  • PUBLICACIÓN DE PÁGINAS WEB
    FERNÁNDEZ CASADO, PABLO E.
    Esta obra es una guía práctica y completa diseñada para ayudar a los principiantes a publicar un sitio web de forma que este sea lo más visible, atractivo y accesible posible. Se abordan todos los aspectos esenciales para que los lectores aprendan a lanzar sus propias páginas web de forma segura con los protocolos y herramientas que garanticen la protección ante intentos de hac...

    22,90 €