Fundamentos de Computadores

Anuncio
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
Descargar