PROBLEMAS PARA LA SEGUNDA PRÁCTICA 1. Escribir un programa en lenguaje ensamblador que grafique un rectángulo de 28 caracteres de ancho por 14 caracteres de alto centrados en la pantalla. Dentro de este rectángulo debe colocar centrado el dato binario 1001 1100 0110 0010 que ha de cargarse previamente en el programa en el registro DI. No olvidar seguir todas las reglas que exige el TASM o el MASM como separación de memoria, inscripción de la Data si es necesario, cierre de programa, etc. Hacer uso de interrupciones como INT 21H con AH=02H para insertar caracteres e INT 10h con AH=02H para posicionar el cursor en la pantalla [BH = página, DH = fila, DL = columna] 2. Analizar el siguiente arreglo de memorias correspondiente a un procesador de 8 bits en el bus de datos y 16 bits en el bus de direcciones. Determinar las direcciones implementadas. Diseñar además un nuevo arreglo de memorias con las mismas direcciones halladas que corresponda a un procesador de 16 bits en el bus de datos y 16 bits en el bus de direcciones. Dibujar el circuito. 3. En la segunda figura se ilustra la conexión de un puerto que comunica un procesador de 16 bits en el bus de datos con una salida de cuatro displays de 7 segmentos. Indicar cómo sería el circuito interior del puerto y deducir la dirección que lo habilita. 4. Escribir un programa en lenguaje ensamblador que grafique un rectángulo de 30 caracteres de ancho por 12 caracteres de alto centrados en la pantalla. Dentro de este rectángulo debe colocar el nombre del alumno el cual será almacenado previamente en el segmento de datos y que debe visualizarse como la cadena de caracteres. Utilizar para este fin las interrupciones: INT 21h con AH=2 y con AH=9 para insertar caracteres o cadena de caracteres; INT 10h con AH=2 para posicionar el cursor en la pantalla [BH = página, DH = fila, DL = columna] 5. Analizar el siguiente arreglo de memorias correspondiente a un procesador de 8 bits en el bus de datos y 16 bits en el bus de direcciones. Determinar las direcciones implementadas. Diseñar además un nuevo arreglo de memorias con las mismas direcciones halladas que corresponda a un procesador de 32 bits en el bus de datos y 16 bits en el bus de direcciones. Dibujar el circuito. 6. Ilustrar el circuito de un puerto que comunique a un procesador de 8 bits en el bus de datos con una salida de dos displays de 7 segmentos. Incluir el decodificador de direcciones que habilite al puerto con la dirección F8h. 7. Escribir un programa en lenguaje ensamblador que cargue un dato de 16 bits en el registro BP, que lo convierta con una subrutina a hexadecimal y que visualice el resultado en símbolos hex en el monitor. 8. Diseñar un arreglo de memorias que implemente las direcciones desde 7A398000H hasta 7A39FFFFH utilizando memorias SRAM 8192x8bits para un bus de datos de 32 bits. Indicar el número de memorias que se requiere, diseñar el selector de memorias, hacer un gráfico ilustrativo del circuito. 9. Responder a las siguientes preguntas: · 1 a) Cite ocho de las novedades más saltantes del microprocesador Pentium III b) Explicar e indicar sobre qué aspectos se mide el rendimiento del procesador c) Enumerar todos los tipos de zócalos y ranuras que se observan en una tarjeta madre, indicar qué dispositivos se pueden conectar a cada uno de ellos. d) Citar las características que distinguen al microprocesador Ultrasparc. e) En la siguiente figura, dar el nombre de cada uno de los elementos indicados para la tarjeta madre. 10. Escribir un programa en lenguaje ensamblador que signifique escribir en la Pantalla el código y el nombre del alumno, el segmento de códigos debe tener 64 KB de espacio disponible y debe utilizarse la interrupción 21h para recurrir al monitor. 11. Implementar las direcciones de memoria desde 94000h hasta 97FFFFh utilizando memorias SRAM de 64K x 8 bits y el decodificador 74138 que se ilustra en la figura, teniendo en cuenta que el procesador tiene 16 bits en el bus de datos (no olvidar el control BHE). 12. Traducir a lenguaje de máquina el siguiente programa en lenguaje ensamblador: dirección A00000h PUSHA MOV AX, 7890h MOV DS, AX MOV BX, 0100H MOV DX, [BX] MOV AX, [BX + 2] MOV CX, [0104H] ADD AX, DX SUB AX, CX MOV [BX + 6], AX POPA HLT 13. En la siguiente figura se ilustra una tarjeta madre y se marca algunos zócalos o ranuras con letras A, B, C, D, E y F. Indicar el nombre de tales ranuras y algún dispositivo que se coloca en cada una de ellas. 14. Ilustrar el diagrama de bloques del puerto de E/S 8212 y describir cómo funciona. Dar cuenta de sus controles y para qué sirve. 15. ¿Porqué no se conectan los periféricos directamente al procesador y se eliminan los puertos de E/S? Justificar su respuesta. · 2 16. Indique en cada casillero del siguiente cuadro la información que corresponda: Fecha de No. de bits en el Procesador Introducción Bus de Datos Intel 8086 Intel 80286 Intel 80386 Intel 80486 Pentium Pentium Pro Pentium II Pentium III Máxima Memoria Memoria Caché Máxima Frecuencia 17. Se tiene la siguiente fracción de programa en lenguaje ensamblador: PUSHA MOV AX, A000H MOV DS, AX XOR AX, AX MOV SI, 0000H SUB AX, [SI] ADC AX, [SI + 2] XCHG AX, [SI + 4] MUL BX MOV BX, 12H AND [BX], AX NEG DX RCL DX MOV CX, 1234H SHL CX CMP DX, CX POPA HLT La memoria tiene los siguientes datos: A0000H A0001H A0002H A0003H A0004H A0005H A0006H A0007H 59H 70H B4H 0FH 28H CFH E6H 5AH Dar el modo de direccionamiento de cada instrucción. Analizar este programa y dar los resultados de los registros, incluyendo el registro de estado y la la memoria . · 3 18. Responder a las siguientes preguntas: a) ¿Qué dispositivos se conectan al EIDE? b) ¿En qué consiste el ROM BIOS? c) ¿Qué ventajas se advierten en el AGP frente al PCI? d) Cite las características de un ATHLON AMD. e) ¿Qué es el CHIPSET y qué tipos hay? f) Enumerar las características de un procesador Pentium IV. g) Cite las características de una POWERPC. h) Características y modelos de la ULTRASPARC de SUN. 19. En el dibujo se muestra una tarjeta madre ATX de pentium III. Indique el nombre o la utilidad de cada uno de los dispositivos señalados. 20. Escribir un programa en lenguaje ensamblador que contenga el nombre del alumno almacenado en el segmento de datos y que visualice la cadena de caracteres del nombre en el monitor. 21. Analizar el siguiente programa y deducir lo que hace en su conjunto y paso a paso. Si tuviera algún defecto, corregirlo. . model small . stack 100h . code n equ 256 main proc pusha mov si, 1 bucle1: mov di, 1 bucle2: mov ax, [di – 1] cmp al, ah jc vf mov [di – 1], ah mov [di], al vf: mov ax, n sub ax, si jnc salir2 inc di jmp bucle2 salir2: cmp si, n – 1 jnc salir1 inc si jmp bucle1 salir1: popa main endp 22. Dibujar el diagrama de bloques de la Interfaz de E/S 8255. Dar una descripción del modo 1 de operación y su aplicación. · 4 23. Escribir un programa que permita visualizar en el Monitor el dato binario 1001 1100 0110 0010 que ha de cargarse en el registro DI. No olvidar seguir todas las reglas que exige el TASM o el MASM como separación de memoria, inscripción de la Data si es necesario, cierre de programa, etc. Hacer uso de interrupciones como INT 21H con AH=02H. 24. Implementar las direcciones de memoria desde 4A590000h hasta 4A59FFFFh utilizando memorias SRAM de 64K x 8 bits, teniendo en cuenta que el procesador tiene 32 bits en el bus de datos. 25. En el arreglo de memorias que se presenta en la siguiente figura se observa las memorias RAM 62256 conectadas a un procesador de 1M x 8 bits. Se pide determinar la capacidad de las memorias y las direcciones implementadas. 26. En el circuito de la figura siguiente se ilustra un decodificador de direcciones que conecta un procesador intel 80286 a dos memorias EPROM 2764. Determinar la capacidad de las memorias, analizar cómo está conectado el decodificador, explicar cómo funciona este arreglo de memorias. · 5 · 6 · 7 · 8 Tabla del campo MOD MOD Función 00 No hay desplazamiento 01 Hay desplazamiento de 8 bits 10 Hay desplazamiento de 16 bits 11 R/M es un registro Tabla del campo REG y R/M rrr W = 0 W = 1 000 AL AX 001 CL CX 010 DL DX 011 BL BX 100 AH SP 101 CH BP 110 DH SI 111 BH DI Tabla de modos de direccionamiento de memoria R/M mmm Función 000 DS: [BX + SI] 001 DS: [BX + DI] 010 SS: [BP + SI] 011 SS: [BP + DI] 100 DS: [SI] 101 DS: [DI] 110 SS: [BP] 111 DS: [BX] Tabla de selección de registro de segmento sss Registro de segmento 000 ES 001 CS 010 SS 011 DS Tabla de Instrucciones PUSH Simbólica Byte 1 01010rrr Byte 2 Byte 3 Byte 4 Byte 2 Byte 3 Byte 4 Byte 1 000000dw Byte 2 ccrrrmmm Byte 3 Desplazamiento Byte 4 100010dw 1011wrrr 001010dw 100011d0 11110100 ccrrrmmm datos ccrrrmmm ccsssmmm Desplazamiento Inmediato desplazamiento desplazamiento PUSH reg PUSH seg PUSHA 000ss110 01100000 Tabla de Instrucciones POP Simbólica Byte 1 01011rrr POP reg POP seg POPA Tabla de Instrucciones: Simbólica 000ss111 01100001 ADD reg, reg MOV reg, reg MOV reg, inm SUB reg, reg MOV seg, reg HLT · 9 · 10 · 11