1

相対オフセットの値を強制するにはどうすればよいですか?

私はやり方を知っています: jmp label_name

やりたいこと: jmp $0x01

4

4 に答える 4

4

次のような相対ジャンプを使用できます

jmp $+5

ジャンプの開始に相対的です。

于 2012-07-20T20:39:39.727 に答える
1

構文の問題...Nasmは「$+5」を使用し、(G)は「。+ 5」を使用し、「$」も必要になる場合があります(?)。元のタグから、Nasmを使用していることがわかりますか?その場合、「$ + 5」は正しいはずですが、おそらくあなたが望むことをしないでしょう。asm構文は「jmptarget」(またはGasの場合は「jmp $ target」?)であり、逆アセンブルでも同じことがわかりますが、生成されているバイトを注意深く見てください。「jmp」オペコードの後に​​は、「ターゲット」ではなく「ターゲットまでの距離」が続きます。「ターゲットまでの距離」をコーディングする場合は、「db 0xE8」(または適切なオペコード)に続けて「db(またはdwまたはdd)0x??」を使用する必要があると思います。(ガスの場合は「.byte」または「.long」だと思います)。これはおそらくあなたがやりたいことではありません。

最高、フランク

于 2012-07-22T20:25:50.893 に答える