2012-04-05 3 views
2

に近く、相対的な呼び出しを行います。私は別のオブジェクトファイルから関数に近く、相対的な呼び出しを行いたいNASM

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

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

残念ながら、上記のコードは動作しません。私は、レジスタに_funcをロードする必要があります。

mov eax, _func 
call eax 

両方のファイルがCOFFオブジェクト・ファイルにコンパイルされています。関数のアドレスをレジスタにロードせずに、近い、相対的な呼び出しを行う方法はありますか? a.asmで

答えて

0

、ライン:

func: 

は次のようになります。

_func: 

ただ、非常に不自然なケースでテストし、それは私のために動作します。関数アドレスをeaxにロードする必要はありません。レコードの場合は、上記のシンボルエラーの周りでは動作しませんでした。おそらくそれはタイプミスであり、私はより広い問題を逃しました。

+0

ご意見ありがとうございます。生産コードに入力ミスはありません。それは問題ではありません。 – 0xbadf00d

関連する問題