Procedimientos y Datos
- Instrucciones de llamadas de procedimientos y sus mecanismos para pasar datos con diferentes rutinas.
Called (llamada)
- Tipos de datos
- Llamadas de procedimiento
- Utilidad de una pila
- Acceso a elementos de arreglo.
- Aplicaciones de los apuntadores.
Un procedimiento representa un subprograma que, cuando se llama (inicia, invoca) realiza una tarea específica.
Jal proc #alta a la ubicación “proc” y salva la dirección (PC)+4 en $ra ($31)
Note que es posible invertir el orden de las dos instrucciones si se usara la dirección -4($sp) en lugar de 0($sp). Para sacar el elemento b de la stack en la figura, se usa una instrucción lw para copiar b en un registro deseado y el apuntador de pila se incrementa en 4 para apuntar al siguiente elemento de la pila
La pila es una estructura de datos dinámicos en la que los datos se pueden colocar y recuperar en orden last-in, first-out (último en entrar, primero en salir).
Los elementos de datos se añaden a la pila al empujarlas en la pila y se recuperan al sacarlos. Las operaciones push (empujar) y pop (sacar) de la pila.
Apuntadores: gp, sp, fp.
Observe que una operación pop no borra de la memoria al antiguo elemento alto b; b todavía está donde se encontraba antes de la operación pop y de hecho sería accesible a través de la dirección -4($sp).
Tipos de datos
Un uso importante para elementos de datos con tamaño de byte es representar los símbolos de un alfabeto que consiste de letras (mayúsculas y minúsculas), dígitos, signos de puntuación y otros símbolos necesarios. En notación hexa, un byte de ocho bits se convierte en un número de dos dígitos.
De acuerdo al uso de tipo de variable, así será el rendimiento del aplicativo, al considerar lo siguiente:
word= 32 bits
bool= 64 bits
float= 80 ó 64 bits
double= 64 bits
lw= Pop --> Es como sacar
sw= Push--> Ingresar
Esquemas Arreglos y apuntadores
- Índice: Usar un registro que retenga el índice i e incremente el registro en cada paso para efectuar el movimiento del elemento i de la lista al elemento i + 1.
- Apuntador: Usar un registro que apunta al (retiene la dirección de) elemento de lista que se examina y actualizarlo en cada paso para apuntar al siguiente elemento.
Para implementar el primer esquema, la dirección se debe calcular mediante muchas instrucciones que en esencia forman 4i y luego suman el resultado al registro que retiene la dirección base del arreglo o lista. En el segundo esquema, una sola instrucción que agrega 4 al apuntador de registro logra el avance hacia el siguiente elemento del arreglo.





Comentarios
Publicar un comentario