Simula3ms arquitectura de computadores 2
Enviado por JEAN PABLO MONTES MICANQUER • 27 de Julio de 2021 • Tarea • 585 Palabras (3 Páginas) • 150 Visitas
Universidad del Valle – Facultad de Ingenierías
Curso: Arquitectura de Computadores
Profesor: Rubén Darío Nieto Londoño, PhD.
Estudiante: Jean Pablo Montes Micanquer
Código: 1944081
Ingeniería en Sistemas
Guias No. 2 Simula3ms
Llamadas a Subrutinas
- ¿Cuál es la instrucción de llamada a la subrutina? ¿Cuáles son las dos acciones que realiza esta instrucción? ¿Cuál es su codificación binaria? ¿En qué campos se descompone?
- La instrucción de llamada a la subrutina es la instrucción jal
sub1.
-La primera acción que realiza esta instrucción es modificar el valor del PC por aquel al que apunta la etiqueta que es 0040001c y la segunda acción que realiza es almacenar la dirección actual del PC en $ra que es 00400010.
-Codificación numérica de la instrucción jal: 0x0c100007
-Codificación binaria de la instrucción jal:
[pic 1]
-Se descompone en los siguientes campos según el Formato
Tipo J:
[pic 2]
- ¿Cómo se construye la dirección de salto de la instrucción jal?
-La dirección de salto de la instrucción jal se va construyendo a partir de ir adicionando de 4 en 4 bits al contador del programa (PC), hasta llegar al final de la instrucción, que es 0040001c.
- ¿Qué queda almacenado en el registro $ra después de ejecutar la instrucción jal?
-Después de ejecutar la instrucción jal, en el registro $ra queda almacenado la dirección de la instrucción que se utiliza para volver al programa principal cuando la subrutina ha finalizado que es 00400010.
- ¿En qué registro se pasa el parámetro del programa? ¿Qué valor tiene?
-El parámetro del programa se pasa en el registro $ra.
-Tiene como valor 00400010.
- ¿En qué registro se pasa el resultado del programa? ¿Qué valor tiene?
-El resultado del programa se pasa al registro $v0.
-Tiene como valor 0000000a.
- ¿Qué instrucción se utiliza para volver al programa principal cuando la subrutina ha terminado? ¿Cuál es la codificación binaria de esta instrucción? ¿En qué campos se divide?
-La instrucción que se utiliza cuando la subrutina ha terminado es la instrucción jr $ra.
-Codificación numérica de la instrucción jr: 0x03e00008
-Codificación binaria de la instrucción jr:
[pic 3]
-Se divide en los siguientes campos según el Formato Tipo R
[pic 4]
- ¿Cuál es la codificación binaria de la instrucción add? ¿En qué campos se descompone? ¿Cuál es el valor de cada campo en decimal?
-Codificación numérica de la instrucción add: 0x00841020
-Codificación binaria de la instrucción add:
...