2012-04-05 63 views
2

我想打近,相對呼叫從另一個目標文件的函數:做出附近,相對呼叫與NASM

; a.asm 
global _func 
_func: 
; [..] 

; b.asm 
extern _func 
; [..] 
call _func 

不幸的是,上面的代碼不起作用。我需要_func加載到寄存器:

mov eax, _func 
call eax 

兩個文件編譯成COFF目標文件。有沒有辦法在不將函數地址加載到寄存器的情況下進行近似相對調用?

回答

0

在a.asm,行:

func: 

應該是:

_func: 

在很做作情況下只是測試,它爲我工作。無需將函數地址加載到eax中。爲了記錄,這樣做並沒有解決上述符號錯誤,所以也許這是一個錯字,我錯過了更廣泛的問題。

+0

感謝您的評論。產品代碼中不存在錯字。所以,這不是問題。 – 0xbadf00d 2012-04-10 13:05:08