Red de conocimientos turísticos - Conocimientos sobre calendario chino - Error al llamar a la subrutina en lenguaje ensamblador en la conexión del programa en lenguaje C

Error al llamar a la subrutina en lenguaje ensamblador en la conexión del programa en lenguaje C

Esto se debe a que su compilador de C es de 32 bits y el lenguaje ensamblador es de 16 bits, por lo que, por supuesto, hay algún problema con la conexión e incluso si no hay ningún problema, no funcionará.

Se recomienda cambiar a un compilador ensamblador de 32 bits y escribir instrucciones ensambladoras de 32 bits, pero debe volver a aprender el ensamblador de 32 bits.

Otro enfoque es utilizar VC para escribir lenguaje C y usar ensamblador en línea directamente en lenguaje C. El código es el siguiente

__stdcall int fun()

{

int a;

__asm{

mov eax , [esi+4];

añadir eax, [esi+6];

mov a, eax;

}

devuelve a;

}

int main(int argc, char* argv[])

{

printf ("¡Hola mundo!\n");

printf("%d\n",fun());

devuelve 0;

}

uzhishi.com" target="_blank">Red de conocimientos turísticos All Rights Reserved.