Tema 3: El nivel de lenguaje máquina - Blearning

Tema 3: El nivel de lenguaje máquina - Blearning Tema 3: El nivel de lenguaje máquina - Blearning

blearning.itmina.edu.mx
from blearning.itmina.edu.mx More from this publisher
07.05.2013 Views

La Pila (o stack) • Estructura de datos tipo LIFO (Last Input First Output) útil para: – Contener valores pasados a un procedimiento como parámetros. – Salvar la información que se desee preservar en llamadas a procedimientos. • Por ejemplo, registros que el invocador no quiere cambiar. – Proporcionar a un procedimiento espacio para variables locales • Operaciones básicas: • Guardar (push) y recuperar (pop). • Normalmente, la estructura de datos crece hacia posiciones más bajas de memoria. • Puntero de pila (Stack Pointer, SP) – Puntero o registro cuyo contenido apunta a la cima de la pila. – Ejemplo: MIPS utiliza el registro 29 ($29 o $sp) como puntero de pila. Fundamento de Computadores (1º II) Cap 2: El nivel de lenguaje máquina 34 de 64

Operaciones sobre la pila sp-4 sp Guardar (push) 1. Decrementar puntero 2. Escribir en memoria (store) MIPS: addi $sp,$sp,-4 sw $reg, 0($sp) Memoria Dirección Valor guardado Baja Alta Recuperar (pop) 1. Leer de memoria (load) 2. Incrementar puntero MIPS: lw $reg, 0($sp) addi $sp,$sp,4 Memoria Dirección Valor leído Fundamento de Computadores (1º II) Cap 2: El nivel de lenguaje máquina 35 de 64 sp sp+4 Baja Alta

La Pila (o stack)<br />

• Estructura <strong>de</strong> datos tipo LIFO (Last Input First Output) útil para:<br />

– Contener valores pasados a un procedimiento como parámetros.<br />

– Salvar la información que se <strong>de</strong>see preservar en llamadas a procedimientos.<br />

• Por ejemplo, registros que el invocador no quiere cambiar.<br />

– Proporcionar a un procedimiento espacio para variables locales<br />

• Operaciones básicas:<br />

• Guardar (push) y recuperar (pop).<br />

• Normalmente, la estructura <strong>de</strong> datos crece hacia posiciones más bajas<br />

<strong>de</strong> memoria.<br />

• Puntero <strong>de</strong> pila (Stack Pointer, SP)<br />

– Puntero o registro cuyo contenido apunta a la cima <strong>de</strong> la pila.<br />

– Ejemplo: MIPS utiliza el registro 29 ($29 o $sp) como puntero <strong>de</strong> pila.<br />

Fundamento <strong>de</strong> Computadores (1º II) Cap 2: <strong>El</strong> <strong>nivel</strong> <strong>de</strong> <strong>lenguaje</strong> <strong>máquina</strong> 34 <strong>de</strong> 64

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!