IntelとAMDは、x86に関する非常に良いドキュメントを公開しています。 ここには、(もちろん)CALLに関するセクションがあるIntels命令セットへのリンクがあります。あなたは例外が、それはほとんど何を意味するかもしれません取得している場合はNASMの文法
lbl_start:
MOV EAX, lbl_function1
CALL EAX
RETN
lbl_function1:
MOV EAX, 1
RET 0
を使用して http://www.intel.com/design/intarch/manuals/243191.HTM
OP Code: FF /2
Instruction: CALL r/m32
Description: Call near, absolute indirect, address given in r/m32
。ここではいくつかの一般的な問題は、あなたがレジスタの値を設定しているが、それは前に起こっAPIの呼び出しによって変更されていますプログラム
- 内のアドレスにレジスタを設定していない...
- ですあなたのCALLのreg32
- あなたは、ex(、あなたは間違ってOPコードreg32あなたのCALLをコードしている特定のアドレスではなく、アドレス自体
- にあるデータへのレジスタ値を設定している:FF D0はCALLでありますEAX(16進数)