Windows VC ++に次のコードがある場合:
DWORD somevar = 0x12345678;
_asm call dword ptr [somevar]
AT&T構文を使用して、GCCインラインアセンブリで同じことを行うにはどうすればよいですか?
__asm__ __volatile__ (
"call dword ptr [%%edx]" : :
"d" (somevar)
);
このようなことを試しましたが、「ジャンク」エラーが発生します...
そして、いくつかのレジスタに渡して、それを、などに変換しようとしましたが、somevar
動作させることができませんでした。dword
ptr
更新:その場合、角かっこではなく括弧を使用する必要があるように見えるなど、便利なものを見つけました。また、lcall
と呼ぶものを見つけましたfar
。でも、どうやって再現できるのか、まだわかりませんdword ptr
。