GCC Inline-Assembly:вызовите dword ptr

Если у меня есть следующий код в Windows VC ++:

DWORD somevar = 0x12345678;
_asm call dword ptr [somevar]

Как я могу сделать то же самое в встроенной сборке GCC, с синтаксисом AT & T?

__asm__ __volatile__ (
    "call dword ptr [%%edx]" : :
    "d" (somevar)
);

Я пробовал что-то подобное, но это генерирует «ненужную» ошибку ...

А затем я попытался передать somevar в некоторые регистры, а затем преобразовать его в dword , ptr , и т.д., но я не мог заставить его работать.

ОБНОВЛЕНИЕ: Я нашел кое-что, что было бы полезно, например, кажется, что в этом случае мы должны использовать скобки вместо скобок, и я нашел кое-что с Позвоните , чтобы позвонить как далеко . Но я все еще не могу понять, как я могу воспроизвести dword ptr .

5
задан Toribio 19 December 2012 в 01:52
поделиться