本论坛为只读模式,仅供查阅,不能注册新用户,不能发帖/回帖,有问题可发邮件 xikug.xp (^) gmail.com
查看: 2545|回复: 1

bochs 异常处理函数中 push 不起作用 [复制链接]

Rank: 1

发表于 2013-1-16 17:52:34 |显示全部楼层
本帖最后由 arthuryg 于 2013-1-16 17:53 编辑

Hi, 各位大牛

   今天调试一个程序,基本功能是进入保护模式,设置idt,而后用 ud2进入异常处理函数。
   进入异常处理函数之后,发现push 1, 这类的指令不起作用了。 通过 bochs 调试器查看内存,内容总是 0
   在用 call 指令时 stack 是正常的。 通过 mov [esp], dword 1, 也能正常运行。

    不晓得这是什么原因,求各位大牛指点

Rank: 1

发表于 2013-1-21 17:42:03 |显示全部楼层
找到答案了, 在保护模式下将ss段指定为了一个非 32模式的段,esp 其实不起作用,真正起作用的是 sp. 因此直接查看 esp 内容虽然是正确的,但其实他不起作用......
您需要登录后才可以回帖 登录 | 立即加入

Archiver|手机版|第8个男人 - 论坛为只读模式,仅供查阅

GMT+8, 2019-5-21 01:56 , Processed in 0.039119 second(s), 8 queries .

Design by pvo.cn

© 2011 Pvo Inc.

回顶部