Ik wil dus een C++ functie aanroepen vanuit een stukje assembly.
Dit is wat ik in gedachten had, ik zie de 5 verschijnen maar daarna krijg ik een runtime error:
En ik heb dus geen idee wat ik ermee moet ^^.
Kan iemand mij uitleggen hoe ik een C++ functie aanroep vanuit assembly en misschien ook uitleggen waarom wat ik probeerde niet werkt?
Alvast bedankt!
Code:
#include <iostream>
void PrintInt( int number );
void PrintNL();
int main()
{
int number = 5;
__asm
{
PUSH number
CALL PrintInt
}
std::cin.get();
}
void PrintInt( int number ) {
std::cout << number;
}
void PrintNL() {
std::cout << std::endl;
}
Dit is wat ik in gedachten had, ik zie de 5 verschijnen maar daarna krijg ik een runtime error:
Run-Time Check Failure #0 - The value of ESP was not properly saved across a function call. This is usually a result of calling a function declared with one calling convention with a function pointer declared with a different calling convention.
En ik heb dus geen idee wat ik ermee moet ^^.
Kan iemand mij uitleggen hoe ik een C++ functie aanroep vanuit assembly en misschien ook uitleggen waarom wat ik probeerde niet werkt?
Alvast bedankt!