如果我在Windows VC++中有以下代码:
我该如何使用GCC内联汇编,使用AT&T语法制作相同的内容?
我尝试过类似的方法,但它会产生“垃圾”错误...
然后我试图将
更新:我发现了一些有用的东西,就像在这种情况下似乎我们必须使用括号而不是方括号,并且我找到了一些使用
DWORD somevar = 0x12345678;
_asm call dword ptr [somevar]
我该如何使用GCC内联汇编,使用AT&T语法制作相同的内容?
__asm__ __volatile__ (
"call dword ptr [%%edx]" : :
"d" (somevar)
);
我尝试过类似的方法,但它会产生“垃圾”错误...
然后我试图将
somevar
传递到某些寄存器中,然后将其转换为dword
、ptr
等,但我无法使其正常工作。更新:我发现了一些有用的东西,就像在这种情况下似乎我们必须使用括号而不是方括号,并且我找到了一些使用
lcall
作为far
调用的方法。但我仍然无法理解如何复制dword ptr
。