Examen de Fundamentos de Computadores Ingeniería Técnica de Informática de Sistemas EUI. ULPGC Convocatoria extraordinaria 2003/04 PARTE PRÁCTICA 30 % 1. 2. Dada la siguiente imagen del simulador indica: (0,5 puntos) Indica cuáles son las instrucciones cargadas en el simulador y el contenido de la memoria. Indica qué valor tendrán los registros implicados tras la ejecución de las instrucciones. (0,5 puntos)¿Qué ocurre si sustituimos lb por lw o lh?. Indica de qué tres formas podrías hacer que el último dato se guardara a partir de la posición de memoria: 0x10010050. (1 punto) Dado el siguiente código: Comenta cada una de las instrucciones y sustituye la instrucción mult por una llamada a una rutina que realice la multiplicación mediante sumas sucesivas, la estructura de control repetitiva debe ser “PARA”. Utiliza como datos de entrada a esta subrutina los valores a multiplicar, cargados en los registros $s0 y $s1, pasados en la pila, devuelve el resultado en el registro $s2. Además de mostrarlo en pantalla, carga el resultado en la dirección de memoria: 0x10010050. lectura: escritura: .data 0x10010000 .asciiz "Escribe el número a multiplicar:" .asciiz "Resultado de la multiplicación:" .text main: fin: leer: escribir: add jal add mult mflo jal li syscall li la syscall li syscall jr li la syscall li add syscall li syscall jr jal leer $s0,$v0, $0 leer $s1,$v0,$0 $s0,$s1 $s0 escribir $v0, 10 $v0,4 $a0,lectura $v0,5 $ra $v0,4 $a0,escritura $v0,1 $a0,$0,$s0 $v0,5 $ra 1 4. 5. 3. Dada la siguiente imagen del simulador: (0,5 puntos) Identifica la instrucción de salto incondicional e indica a qué dirección de memoria realiza el salto. (0,5 puntos) Identifica la instrucción de salto condicional e indica a qué dirección de memoria realiza el salto. FORMATO DE LAS INSTRUCCIONES add Rd, Rs, Rt 0 Rs Rt addi Rt, Rs, Inm 8 Rs Rt and Rd, Rs, Rt 0 Rs Rt 0xC Rs Rt div Rs, Rt 0 Rs Rt 0 0x1a División mult Rs, Rt 0 Rs Rt 0 0x18 Multiplicación nor Rd, Rs, Rt 0 Rs Rt Rd 0 0x27 NOR or Rd, Rs, Rt 0 Rs Rt Rd 0 0x25 OR 0xD Rs Rt sll Rd, Rt, shamt 0 Rs Rt Rd S 0 sra Rd, Rt, shamt 0 Rs Rt Rd S 3 srl Rd, Rt, shamt 0 Rs Rt Rd S 2 sub Rd, Rs, Rt 0 Rs Rt Rd 0 0x22 Resta slt Rd, Rs, Rt 0 Rs Rt Rd 0 0x2a Inicializa menor que andi Rt, Rs, Inm ori Rt, Rs, Inm Rd 0 0x20 Suma inmediata Inm Rd Suma 0 0x24 AND AND inmediata Inm OR inmediata Inm Desplazamiento lógico a la izquierda Desplazamiento aritmético a la derecha Desplazamiento lógico a la derecha beq Rs, Rt, desp 4 Rs Rt Desplazamiento Salta si igual bne Rs, Rt, desp 5 Rs Rt Desplazamiento Salta si no igual j dest 2 jr Rs Bifurca Destino Bifurca registro 0 Rs lb Rt, dir 0x20 Rs Rt Desplazamiento Carga byte lw Rt, dir 0x23 Rs Rt Desplazamiento Carga palabra lh Rt, dir 0x21 Rs Rt Desplazamiento Carga media palabra lui Rt, Inm 0x0F 0 Rt sb Rt, dir 0x28 Rs Rt Desplazamiento Almacena byte sw Rt, dir 0x2b Rs Rt Desplazamiento Almacena palabra sh Rt, dir 0x29 Rs Rt Desplazamiento Almacena media palabra 0 8 Inm Carga inmediato en la parte superior 2