指令执行有问题
这是反汇编代码:
enter code here
7cda: 55 push %ebp
7cdb: 89 e5 mov %esp,%ebp
7cdd: 57 push %edi
7cde: 56 push %esi
7cdf: 53 push %ebx
这是 gnu 反汇编器中的指令执行:
=> 0x7cda: push %ebp
0x00007cda in ?? ()
(gdb)
=> 0x7cdb: mov %esp,%ebp
0x00007cdb in ?? ()
(gdb)
=> 0x7d30: add $0x10,%esp
0x00007d30 in ?? ()
我的问题是地址 0x7cdb - 0x7d30 之间有很多指令,没有任何跳转指令,它正在执行它,在它们之间留下了很多指令。
This is disassembled code:
enter code here
7cda: 55 push %ebp
7cdb: 89 e5 mov %esp,%ebp
7cdd: 57 push %edi
7cde: 56 push %esi
7cdf: 53 push %ebx
And this is instruction execution in gnu disassembler:
=> 0x7cda: push %ebp
0x00007cda in ?? ()
(gdb)
=> 0x7cdb: mov %esp,%ebp
0x00007cdb in ?? ()
(gdb)
=> 0x7d30: add $0x10,%esp
0x00007d30 in ?? ()
My question is there are many instruction in between address 0x7cdb - 0x7d30 without any jump instruction it is executing it leaving many instructions in between.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论