3

これらのコマンドを取得したい:

jl some_label(%rip)
# or
jl *%rax

Intel x64アーキテクチャ用に書いているasmプログラムで。

このコードをコンパイルしようとすると、GCC は「jl のオペランド型が一致しません」と表示します。

4

2 に答える 2

6

x86 では、条件付きジャンプは相対的です。「反転した」条件付きジャンプの後に無条件ジャンプを使用できます。

  jge   skip_jump
  jmp   *%rax       # AT&T syntax
skip_jump:

同等の NASM 構文はjmp rax. いずれにせよ、RIP = RAX を設定するので、レジスタ間接ジャンプです。

于 2013-05-26T21:21:43.307 に答える