Este documento presenta una introducción al lenguaje ensamblador, describiendo las instrucciones CALL y RET. CALL llama a una subrutina en una dirección de memoria especificada, mientras que RET realiza un retorno de subrutina cargando la dirección de retorno de la pila. El documento también explica el funcionamiento de CALL y RET, así como ejemplos de su uso.
LAS TETAS DE MARIA GUEVARA REVISTA DIGITAL INF.pdf
Call ensamblador
1.
2. Lenguaje Ensamblador
Estudiantes:
● Jhon Faver Henao Saldarriaga
● Cesar Augusto Santin Pinzón
● Yannela Mishelle Castro Valarezo
● Anthonny Paul Torres Carpio
Docente: René Guamán-Quinche
Facultad de la Energía, las Industrias y los Recursos Naturales No Renovables
Carrera de Ingeniería en Sistemas/Computación
Junio, 2020
Loja, Ecuador
3. 3
1. ¿Que es Call?
2. ¿Que es Ret?
3. Funcionamiento
4. Manejo de Instrucciones CALL
5. Ejemplos
Agenda
4. 4
CALL
● Llama a la subrutina que se encuentra en la dirección de memoria indicada por la
etiqueta.
● Definida en el programa principal, la instrucción CALL permite efectuar la
transferencia de la ejecución a un subprograma, indicando las zonas de memoria
compartida.
● La instrucción CALL llama a un procedimiento, para lo cual dirige al procesador
para que empiece la ejecución en una nueva ubicación de memoria.
5. RET
● RET realiza un retorno de subrutina. La dirección de retorno es cargada de la pila.
El Stack Pointer (puntero de pila) utiliza durante el RET un esquema de post-
decremento.
● RET se utiliza para retornar desde una subrutina llamada previamente con CALL.
La ejecución del programa continúa desde la dirección formada al extraer 2 bytes
de la pila. En primer lugar de la pila se saca el byte más significativo.
6. FUNCIONAMIENTO DE CALL
● Cuando se ejecuta la instrucción CALL, se transfiere el control a las
instrucciones del subprograma
● La vuelta se efectuará las instrucciones siguientes a la CALL
● El subprograma se inicializa, la primera vez que es llamado
● El programa se encontrará en el estado resultante de la última llamada al
subprograma
7. Manejo de Instrucciones CALL
Hablando en sentido mecánico, la
instrucción CALL mete su dirección de
retorno en la pila y copia la dirección del
procedimiento al que se llamó en el
apuntador de instrucciones. Cuando el
procedimiento está listo para regresar, su
instrucción RET saca la dirección de
retorno de la pila y la coloca en el
apuntador de instrucciones.
9. Conclusiones
● Las instrucciones Call y Ret son dos instrucciones que van de la mano ya
que Call hace una llamada a una subrutina que se encuentra en la
dirección de memoria indicada por la etiqueta y Ret hace un retorno a la
pila para que la ejecución del programa continúe.
● Hay que tener en cuenta que existen diferentes llamadas, es decir sin
argumentos, con argumentos y con stack frame, cada una de ella con su
complejidad. Por esto es necesario estudiarlas a detalle para no tener
errores en el desarrollo del programa.
10. 10
Cŕeditos
● Orenga, Manonellas, M. A. G. E. (s. f.). Estructura de computadores. Recuperado 20 de junio de
2020, de
http://cv.uoc.edu/annotation/8255a8c320f60c2bfd6c9f2ce11b2e7f/619469/PID_00218273/PID_00
218273.html
● Abel, P. A. (1996). Lenguaje Ensamblador y Programación para IBM PC y Compatibles (3.a ed.).
México, México: Prentice Hall.
● Koutchouk, M. (1986). Cobol: perfeccionamiento y práctica (1.a ed.).
● Irvine, Kip R. (2008). LENGUAJE ENSAMBLADOR PARA COMPUTADORAS BASADAS
EN INTEL (5.a ed.). México, México: Pearson Educación.
● Carter, P. A. (2007). Lenguaje Ensamblador para PC.