Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] Libre Elección [_] Pregunta correcta=0,4 Pregunta no contestada=0 Pregunta incorrecta (tipo test)=-0,2 Sistemas operativos, arquitectura von Neumann, configuración del PC (4 puntos) 1) Los módulos DIMM: [_] [_] [_] [_] a) b) c) d) Son conectores de la memoria RAM del ordenador Conectan dispositivos de almacenamiento secundario Sirven para conectar la CPU a la placa base Proporcionan la corriente eléctrica a la placa base 2) ¿Cual de las siguientes afirmaciones es correcta? [_] [_] [_] [_] a) b) c) d) MIPS son los millones de instrucciones ejecutadas en un segundo MFLOPS son los millones de operaciones en coma flotante por segundo MIPS y MFLOPS dependen fuertemente del tipo de programa que se ejecute Todas son correctas 3) Los bloques principales de la arquitectura Von Neumann son: [_] [_] [_] [_] a) b) c) d) Monitor, teclado y ratón CPU, Unidad de Control y Unidad Aritmética Memoria principal, UC, UAL y Unidad de Entrada / salida UC, ALU y los Buses 4) ¿Cual de las siguientes afirmaciones es correcta? [_] a) En lenguaje máquina se representan las instrucciones con nombres simbólicos o mnemónicos [_] b) En lenguaje ensamblador cada instrucción se corresponde con una instrucción máquina [_] c) En lenguaje de alto nivel cada instrucción se corresponde con una instrucción máquina [_] d) Todas son correctas 5) Si el prompt que nos aparece en MSDOS es C:/> y tenemos un directorio dentro [_] [_] [_] [_] de C llamado practicas que contiene el fichero pepito.txt: a) Al ejecutar DIR practicas veremos el fichero pepito.txt b) Al ejecutar DIR PRACTICAS veremos el fichero pepito.txt c) Al ejecutar CD practicas y luego DIR veremos el fichero pepito.txt d) Todas son ciertas 6) Indique la opción incorrecta : operaciones sobre ficheros. [_] a) [_] b) [_] c) [_] d) La orden TYPE del MS-DOS muestra el contenido de un fichero. La orden EDIT permite editar el contenido de un fichero. La orden COPY copia los directorios con subdirectorios incluidos. La orden MKDIR sirve para crear directorios PÁGINA 1 DE 7 Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] Libre Elección [_] 7) Indique la opción correcta : [_] a) La orden DEL elimina el fichero del disco de forma irreversible. [_] b) La orden ERASE elimina el fichero del disco pero puede ser recuperado (UNERASE). [_] c) Para borrar un fichero de forma permanente desde Windows 2000 se debe pulsar las teclas Control+Suprimir. [_] d) Cuando se borra un fichero desde Windows 2000 es posible recuperarlo a través de la papelera de reciclaje. 8) Indique la opción correcta: El contador de programa (CP) contiene: [_] a) La siguiente instrucción a ejecutar. [_] b) La dirección de memoria dónde esta ubicada la siguiente instrucción a ejecutar. [_] c) La dirección de los operandos. [_] d) El estado actual de proceso. 9) Indicar la opción incorrecta : la información que puede circular por el bus de datos es: [_] a) Información de control. [_] b) Operandos. [_] c) Instrucciones. [_] d) Datos inmediatos 10) El registro de estado o flags: [_] a) Contiene el valor de la operación que ha realizado previamente la unidad aritmética [_] b) Contiene la dirección de la siguiente instrucción a ejecutar de memoria [_] c) Contiene la dirección de una zona de memoria llamada pila [_] d) Ninguna es correcta PÁGINA 2 DE 7 Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] Libre Elección [_] Ensamblador (6 puntos) Dado el siguiente programa en ensamblador, donde entre las líneas tenemos la parte del código en ensamblador (en negrita) y su correspondiente código máquina visto desde el programa CodeView, con la opción de view MIXED (Es decir vemos una línea del fuente (source) numerada y a continuación la dirección y el código máquina correspondiente (Assembly). dosseg .model small .stack 100h .data cr equ 13 lf equ 10 Texto1 DB "Este programa comprueba si una cadena introducida es un palindromo.", cr,lf Texto2 DB "Un palindromo es una palabra que se lee igual en los dos sentidos.", cr,lf Texto3 DB "Ej.: soldadlos, arañara...", cr,lf Texto4 DB "Introduce cadena: ", "$" Texto5 DB "La cadena es un palindromo",cr,lf, "$" Texto6 DB "La cadena no es un palindromo",cr,lf, "$" MaximoMas1 DB 10 CaracteresLeidos DB 0 Cadena DB 10 DUP (0) CadenaAux DB 10 DUP (0) .code INICIO: 21: mov AX, @data 418D:0010 B89341 MOV AX,4 22: mov DS, AX 418D:0013 8ED8 MOV DS,A 23: mov AH, 9 418D:0015 B409 MOV AH,0 24: lea DX, Texto1 418D:0017 8D160000 LEA DX,W 25: int 21h 418D:001B CD21 INT 21 27: mov AH, 0Ah 418D:001D B40A MOV AH,0 28: lea DX, MaximoMas1 418D:001F 8D16F500 LEA DX,W PÁGINA 3 DE 7 Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] Libre Elección [_] 29: int 21h 418D:0023 CD21 INT 21 31: lea SI,Cadena 418D:0025 8D36F700 LEA SI,Word Ptr [00F7] 32: lea DI,CadenaAux 418D:0029 8D3E0101 LEA DI,Word Ptr [0101] 33: xor CX,CX 418D:002D 33C9 XOR CX,CX 34: mov CL,CaracteresLeidos 418D:002F 8A0EF600 MOV CL,Byte Ptr [00F6] ;Pasamos la Cadena a CadenaAuxiliar AAA: 36: AAA: mov AL,[SI] 418D:0033 8A04 MOV AL,Byte Ptr [SI] 37: inc SI 418D:0035 46 INC SI 38: mov [DI],AL 418D:0036 8805 MOV Byte Ptr [DI],AL 39: inc DI 418D:0038 47 INC DI 40: loop bucle 418D:0039 E2F8 LOOP BUCLE (0033) 42: lea SI,CadenaAux 418D:003B 8D360101 LEA SI,Word Ptr [0101] 43: dec DI 418D:003F 4F DEC DI ;Comparamos las cadenas BBB: 45: BBB: mov AL,[SI] 418D:0040 8A04 MOV AL,Byte Ptr [SI] 46: cmp [DI],AL 418D:0042 3805 CMP Byte Ptr [DI],AL 47: jne no_pal 418D:0044 750D JNZ NO_PAL (0053) 48: inc SI 418D:0046 46 INC SI 49: dec DI 418D:0047 4F DEC DI 50: cmp SI,DI 418D:0048 3BF7 CMP SI,DI 51: jb otro 418D:004A 72F4 JB OTRO (0040) 53: lea DX, Texto5 418D:004C 8D16B800 LEA DX,Word Ptr [00B8] PÁGINA 2 DE 7 Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] 54: jmp fin 418D:0050 EB05 JMP 418D:0052 90 NOP CCC: 56: CCC: lea DX, Texto6 418D:0053 8D16D500 LEA DDD: 58: DDD: mov AH, 9 418D:0057 B409 MOV 59: int 21h 418D:0059 CD21 INT 61: mov AH, 4Ch 418D:005B B44C MOV 62: int 21h 418D:005D CD21 INT Libre Elección [_] FIN (0057) DX,Word Ptr [00D5] AH,09 21 AH,4C 21 END INICIO 1.- El programa anterior permite comprobar si la cadena introducida por teclado es o no palíndromo. Nota: Un palíndromo es una palabra que se lee igual de derecha a izquierda que de izquierda a derecha. Si la cadena es un palíndromo sacará por pantalla el mensaje de Texto5 en caso contrario sacará el mensaje de Texto6. Coloca las 4 etiquetas que faltan AAA, BBB, CCC, DDD para que el funcionamiento del programa sea el mencionado. 36: bucle 45: otro 56: no-pal 58: fin 2.- Escribe detalladamente (con los espacios, enter, etc) todo lo que aparece en pantalla al ejecutar el programa. Suponer que la cadena introducida es: rodador Este programa comprueba si una cadena introducida es un palindromo. Un palindromo es una palabra que se lee igual en los dos sentidos. Ej.: soldadlos, arañara... Introduce cadena: rodador La cadena es un palindromo PÁGINA 3 DE 7 Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] Libre Elección [_] 3.-¿Qué cambiarías (sólo del fuente) y en que líneas para que el primer mensaje mostrado en pantalla fuese: Introduce cadena: Cambiar línea 24 por: 24: lea DX, Texto4 4.- ¿Cuál es el mayor tamaño de cadena que podemos introducir por teclado? 9 5.- ¿Qué cambiarías para que el tamaño de la cadena introducida pudiera ser de hasta 24 caracteres? MaximoMas1 DB 25 CaracteresLeidos DB 0 Cadena DB 25 DUP (0) CadenaAux DB 25 DUP (0) 6.- Para automatizar un poco la forma de sacar mensajes por pantalla realiza un procedimiento que reciba como parámetro la dirección de la cadena a imprimir en el registro BX SacaMensaje PROC MOV DX, BX MOV AH, 9 INT 21h RET SacaMensaje ENDP 7.- ¿Cómo llamarías a ese procedimiento, con qué parámetros y en qué líneas? Cambiar líneas 23 24 y 25 por: LEA BX, Texto1 CALL SacaMensaje Cambiar líneas 53 y 56 por: 53: LEA BX, Texto5 56: LEA BX, Texto6 Y cambiar líneas 58 y 59 por una única: CALL SacaMensaje PÁGINA 4 DE 7 Examen de Laboratorio de Estructura de Computadores. I.T. Informática de Gestión / Sistemas. 17 de Septiembre de 2004 Departamento de Automática – ATC 1 Apellidos, Nombre: Grupo de laboratorio: Gestión [_] Sistemas [_] Libre Elección [_] 8.- ¿Qué cambiarías para que el procedimiento del apdo. 5 fuese una macro y como es ahora la llamada a esta macro? SacaMensaje MACRO MOV DX, BX MOV AH, 9 INT 21h ENDM Y la llamada ahora es: SacaMensaje 9.- ¿Cuál es la dirección física de memoria donde se encuentra la instrucción de la línea 42: lea SI, CadenaAux ? CS * 10h + IP è 418D * 10h + 003B =4190B 10.- ¿Cual es el tamaño en bytes que ocupa la instrucción anterior? Código máquina: 8D360101 è 4 Bytes PÁGINA 5 DE 7