JE指令的多个参数

时间:2014-03-16 00:34:51

标签: assembly x86

这个问题与JE装配说明有关 通常在解释JE时,人们只传递一个参数。 我对此没有疑问。 我的问题是当JE与多个参数(特别是两个)一起使用时。这是一个例子:

 8048f73:       85 c0                   test   %eax,%eax
 8048f75:       74 05                   je     8048f7c <phase_1+0x22>

我对这两行的理解扩展到:首先测试eax是否等于零(基本上),如果是,则跳转到8048f7c的指令(这是一个离开指令)。我不明白的是<phase_1+0x22>部分正在做什么。我目前对这些指令的理解可能不正确,那么有人会澄清JE指令在给出多个输入时的作用吗?

1 个答案:

答案 0 :(得分:2)

je指令只有1个参数,即分支地址。 <phase_1+0x22>只是来自反汇编程序的友好服务,它试图显示数字地址的可读形式。在这种情况下,这意味着地址8048f7c0x22字节超过标签phase_1。如果你p/a phase_1+0x22,你可以在gdb中检查。

PS:如果您对任何指令有疑问,请先检查指令集参考。