2017-07-22 75 views
-1

是否有可能創建一個指向程序集的指針,就像你將如何創建一個指向C函數的指針?masm x86程序集是否可以創建指向過程的指針?

void(*MyFuncPointer)(int a, int b);

我假設這是可能的,我只是不知道如何做到這一點。

+3

您只需使用函數的標籤(名稱)並將其存儲在任何地方。 'masm'可能需要'offset'關鍵字,與任何普通變量相同。 – Jester

回答

1

如果你想獲得一個過程的地址,或者任何你可以使用的加載有效地址指令。

lea eax, CrazyProcedure 
mov ebx, eax 

CrazyProcedure: 
    pop eax 
    pop ebx 
    add eax, ebx 
    ret 
+1

您也可以使用'mov eax,offset CrazyProcedure'。 – fuz

相關問題