2016-04-11 8 views
-2

は、私は(マクロの後ろに隠れて)即時を使用してジャンプしたい想像してみてください。私は試した:即値幅の指定方法は?例えば<strong>rel8</strong>ため<code>jmp</code>命令が実行されるように</p> <pre><code>jmp label </code></pre> <p>どのように私は即時の幅を指定します:

jmp byte label 

しかし、それは動作しません。私はMSVCインラインアセンブラで作業しています。

+1

「動作しません」とは適切な問題の説明ではありません。 –

+1

あなたが決心しないので、うまくいきません。あなたが運が良ければ大きなジャンプを強制することができます。 – usr2564301

答えて

2

アセンブラは自動的にジャンプ命令の最小符号化を選択します。 MASMではこれをjmp SHORT labelで上書きできますが、MicrosoftインラインアセンブラはSHORTキーワードを無視します。

SHASキーワードを使用する場合、MASMを使用しても、ラベルはアセンブリファイル内の別の場所で定義され、ジャンプ命令の-128〜+ 127バイトの範囲内になければなりません。そうしないと、エラーが発生します。

関連する問題

 関連する問題