7

だから私は%eaxjmpしたいアドレスを持っていますが、コードはコンパイルされません、これを回避する方法はありますか?

movl 0xdeadbeef, %eax

jmp %eax ; <--- compile error: type mismatch for 'jmp'
4

3 に答える 3

23

誰もあなたに正しい答えを提供できなかったので、ここにあります:

jmp   *%eax
于 2012-04-22T22:32:56.230 に答える
5

他に何も機能しない場合は、いつでも次のトリックを使用できます。

push eax
ret
于 2012-04-22T21:00:54.353 に答える
5
// target address in eax
jmp   *%eax

// target pointer address in eax
jmp   *(%eax)

x86_64 の場合、レジスタは次のとおりです。%rax

于 2012-04-22T21:08:22.720 に答える