与NASM进行近乎相对的通话

时间:2012-04-05 12:07:19

标签: assembly nasm coff

我想从另一个目标文件中对函数进行近乎相对的调用:

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

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

不幸的是,上面的代码不起作用。我需要将_func加载到寄存器中:

mov  eax, _func
call eax

两个文件都编译为COFF目标文件。有没有办法在不将函数地址加载到寄存器中的情况下进行近似的相对调用?

1 个答案:

答案 0 :(得分:0)

在a.asm中,行:

func:

应该是:

_func:

刚刚在一个非常人为的案例中进行过测试,它对我有用。无需将函数地址加载到eax中。为了记录,这样做并没有解决上述符号错误,所以也许这是一个错字,我错过了更广泛的问题。