Assembly CMP后组件未跳转

Assembly CMP后组件未跳转,assembly,gdb,Assembly,Gdb,我有下面的代码片段,这导致了我的问题 0x0000000000401556 <+56>: cmp $0x37,%edx 0x0000000000401559 <+59>: je 0x401560 <phase_5+66> 0x000000000040155b <+61>: callq 0x401a64 <do_not_come_here> 0x0000000000401560 <+66>: p

我有下面的代码片段,这导致了我的问题

0x0000000000401556 <+56>:   cmp    $0x37,%edx
0x0000000000401559 <+59>:   je     0x401560 <phase_5+66>
0x000000000040155b <+61>:   callq  0x401a64 <do_not_come_here>
0x0000000000401560 <+66>:   pop    %rbx
0x0000000000401561 <+67>:   retq 
现在我们显然想跳到+66行并返回。然而,尽管

%rdx = 37 (hence %edx=37),
代码没有跳转并落入“不要来这里”。 我的gdb报告说,在跳转时,设置的标志是

eflags         0x297    [ CF PF AF SF IF ]

我甚至没有ZF标志在那里。发生了什么事?请帮帮我。

哎呀。我的错误$0x37与37不同,我完全被愚弄了。

这里的顺序不是问题。当我在下一步中有断点时,会引导我进入等等。
eflags         0x297    [ CF PF AF SF IF ]