DUDA Acerca de STDCALL

Iniciado por x64core, 7 Diciembre 2011, 10:02 AM

0 Miembros y 1 Visitante están viendo este tema.

x64core

Hola! :D
Bueno e buscado un poco por ahi y solo encontre que esa instruccion se usa para "limpiar" las llamadas a las apis :P
osea que al usar una api la misma llamada mete los parametros a la pila...
no se si es cierto :P igual queria saber porque se escribe, para que sirve y eso :P
tambien  me e fijado que si no la escribo nopuedo ni ensamblar nada :/ ni un hola mundo ni nada :P
por cierto como hago para meter yo mismo los parametros a la pila y que no lo haga la propia llamda a la pila osea que no sea automatico...

Eternal Idol

stdcall no es una instruccion, es una convencion de llamada (standard call - de Windows -):

http://en.wikipedia.org/wiki/X86_calling_conventions#stdcall
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

x64core

gracias EI :)
entonces tiene que ir siempre en un W32 :P
entonces no hay forma de insertar manualmente los parametros a la pila :P

Eternal Idol

No, incluso hay funciones con la convencion de llamada de C (cdecl) en la API de Windows como wsprintf, stdcall al ser el llamado quien limpia la pila solo soporta un numero de parametros fijo. El programa siempre inserta manualmente los parametros en la pila (tanto con stdcall como con cdecl) ... si usas la directa invoke el propio MASM la sustituye por los push correspondientes en forma transparente.
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón