Si je le code suivant dans Windows VC++:GCC Inline-assemblage: appel dword ptr
DWORD somevar = 0x12345678;
_asm call dword ptr [somevar]
Comment puis-je faire la même chose en ligne-ensemble de GCC, avec AT & T syntaxe?
__asm__ __volatile__ (
"call dword ptr [%%edx]" : :
"d" (somevar)
);
J'ai essayé quelque chose comme ça, mais il génère une erreur « indésirable » ...
Et puis j'ai essayé de passer somevar
à certains registres, puis le convertir en dword
, ptr
, etc, mais je ne pouvais pas le faire fonctionner.
MISE À JOUR: J'ai trouvé quelque chose qui serait utile, comme il semble que nous devons utiliser des parenthèses au lieu des crochets dans ce cas, et j'ai trouvé quelque chose avec lcall
appeler comme far
. Mais je n'arrive toujours pas à comprendre comment je peux reproduire dword ptr
.