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

  • NO TAN RÁPIDO
    HILL, DOUG
    Existe una conocida historia sobre un pez adulto que nada junto a dos peces más jóvenes y les pregunta: «¿Cómo está el agua ». Los peces pequeños se quedan perplejos. «¿Qué es el agua », preguntan. Muchos de nosotros podríamos hacernos hoy una pregunta similar: ¿qué es la tecnología La tecnología define el mundo en que vivimos, pero estamos tan inmersos en ella, tan rodeados po...

    24,50 €

  • OFFICE Y COPILOT OPTIMIZA WORD EXCEL POWERPOINT Y TEAMS
    CHEMA GOMEZ
    La Inteligencia Artificial ha transformado las herramientas de Office, convirtiéndolas en asistentes inteligentes que facilitan el trabajo diario.Este libro te guía paso a paso en la integración de la IA en Word, Excel, Powerpoint, Outlook y Teams, mostrando cómo aprovechar al máximo sus funciones avanzadas.? En Word, redacta con mayor precisión gracias al procesamiento de leng...

    27,90 €

  • ENTIENDE LA TECNOLOGÍA
    GENTILE, NATE
    Piénsalo: gracias a los avances tecnológicos podemos hablar con alguien que esté a miles de kilómetros, predecir el tiempo, cruzar el planeta en cuestión de horas, conocer nuestro estado de salud, curar enfermedades graves, acceder al instante a más información de la que nunca seremos capaces de leer... ¡Si incluso hemos conseguido hacer que las máquinas aprendan! ¿Cómo de dif...

    20,90 €

  • CANVA. CURSO COMPLETO
    GÓMEZ, CHEMA
    La guía definitiva y más exhaustiva para dominar Canva, la herramienta de diseño gráfico más accesible y poderosa de nuestros tiempos ...

    19,90 €

  • LA LEY DE LA INTELIGENCIA ARTIFICIAL. PARTE I
    LÓPEZ-AMO SAINZ, ALVARO PABLO
    La extensión del uso la Inteligencia Artificial a un sinfín de actividades de nuestra vida diaria está suponiendo una nueva revolución tecnológica, económica y social. Tal revolución evidencia la necesidad de una regulación legal en la que La Unión Europea, la OCDE y un amplio número de países ya han avanzado.Con un lenguaje claro, didáctico y sin tecnicismos este libro present...

    34,90 €

  • FINAL FANTASY: LEVEL 99
    MARTÍNEZ SUÁREZ, MIGUEL / RUBIO BLÁZQUEZ, NÉSTOR
    Final Fantasy: Level 99 es un bestiario que explora la diversidad de criaturas icónicas de la legendaria saga de videojuegos de Square Enix, desde sus inspiraciones en mitología clásica hasta referencias en la cultura pop y la ciencia-ficción. El libro, coescrito por Miguel Martínez Suárez y Néstor Rubio Blázquez, presenta 99 fascinantes monstruos que han desafiado a los jugado...

    25,95 €