簡體   English   中英

轉換內聯C匯編程序(Intel語法為AT&T)

[英]Convert Inline C Assembler (Intel syntax to AT&T)

我正在嘗試將此功能從MSVC ++轉換為MINGW(這是原始的MSVC功能)

    VOID __declspec(naked) BNSTUB()
{
   __asm
   {
      pushad;
      call OnChatPacketReceived;
      TEST EAX,EAX;

      popad;
      jnz oldCall;

        MOV EAX,0;
      MOV DWORD PTR DS:[EBX+0x6FF3EBA0],1
      ret;
oldCall:
        CALL eax;
        MOV DWORD PTR DS:[EBX+0x6FF3EBA0],1
        ret;

   }
}

但是我在pushad和popad上有問題。 他們給我一個“未聲明的標識符”

pusha popa(無d)

在Mingw中,它可能被稱為“ pushall”而不是“ pusha”:所以請嘗試“ pushalld”和“ popalld”。

您可以在C語言中進行編譯,還可以使用-S參數保留匯編程序列表。 那應該顯示AT&T語法的全部榮耀。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM