Ensamblador - Subrutinas en ensamblador 386 y superior

 
Vista:

Subrutinas en ensamblador 386 y superior

Publicado por Juani (4 intervenciones) el 04/05/2006 17:19:44
Hola,
tengo un problema al hacer una llamada a una subrutina con los parametros cargados en la pila, pues cuando vuelvo al procedimiento que hizo la llamada no logro recuperar el resultado. En concreto lo que hago es:

1º En proc principal hago push [oper1] y push [oper2] (ambos son de 64bits) y
hago sub sp,8 para dejar hueco para el resultado tb de 64bits.
2º hago llamada: call procedimiento
3º Estando en la subrutina, hago push bp y comienzo a trabajar con los registros y los operandos de la pila.
4ºAl final pop bp y ret
5º Por ultimo llego al procedimiento principal y quiero sacar el resultado de la pila,
pop Qword [Resultado], siendo Resultado una vble puntero declarada en la clausula arg.

Pues cuando miro la vnle resultado veo que está vacía, no entiendo pq!!! Agradeceria enormemente vuestra ayuda.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder