Wenn ich den folgenden Code in Windows VC haben ++:GCC Inline-Montage: call dword ptr
DWORD somevar = 0x12345678;
_asm call dword ptr [somevar]
Wie kann ich die gleiche Sache in GCC Inline-Montage machen, mit AT & T-Syntax?
__asm__ __volatile__ (
"call dword ptr [%%edx]" : :
"d" (somevar)
);
Ich habe so etwas wie dies versucht, aber es erzeugt einen „Junk“ Fehler ...
Und dann habe ich versucht, somevar
einigen Registern zu passieren, und es dann zu dword
, konvertieren ptr
, usw., aber ich konnte es nicht zur Arbeit bringen.
UPDATE: fand ich etwas, das nützlich wäre, wie es scheint, dass wir in diesem Fall Klammern statt Klammern verwenden, und ich fand etwas mit lcall
als far
zu nennen. Aber ich kann immer noch nicht verstehen, wie ich dword ptr
reproduzieren kann.