3

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

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

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

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

mov  eax, _func
call eax

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

4

1 回答 1

0

在 a.asm 中,该行:

func:

应该:

_func:

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

于 2012-04-06T01:05:13.320 回答