Programación General => C/C++ => Mensaje iniciado por: tousan en Viernes 3 de Julio de 2009, 18:57
Título: asm en C++(API y variables)
Publicado por: tousan en Viernes 3 de Julio de 2009, 18:57
Hola. CUando inserto código en ensamblador en C++:
Código: Text
__asm
{
...
}
Cómo puedo llamar desde asm a una API??
Código: Text
__asm
{
MessageBox(eax, NULL, NULL, 1);
...
}
Y finalmente, ¿cómo se utilizan las variables? Con MASM32 por ej. es así: valor dd ? para definir un dword pero en C++??:
Código: Text
__asm
{
valor dd ?
...
}
Título: Re: asm en C++(API y variables)
Publicado por: Eternal Idol en Viernes 3 de Julio de 2009, 19:12
Aclaro que esto es para VC++ (obviamente que pasando cadenas vacias no funciona):
Código: ASM
__asm
{
push1
push NULL
push NULL
pusheax
calldwordptr[MessageBoxA]
}
Las variables declaralas en el codigo de C++.
Título: Re: asm en C++(API y variables)
Publicado por: tousan en Viernes 3 de Julio de 2009, 19:40
Gracias. Es bastante diferente comparado con MASM32. Voy a intentar enlazar MASM32 con VC++ para que el código asm lo ensamble desde MASM32. estoy seguro que se tiene que poder. si lo consigo lo postearé. gracias
Título: Re: asm en C++(API y variables)
Publicado por: Eternal Idol en Viernes 3 de Julio de 2009, 19:44
En realidad es igual, salvo que en MASM tenes la directiva invoke para hacer las llamadas tipo C/C++.
Podes enlazar codigo objeto (.obj) o librerias estaticas o dinamicas (.lib, de importacion para el segundo caso) escritas en assembly perfectamente.