您好、欢迎来到现金彩票网!
当前位置:2019欢乐棋牌 > 指令栈 >

汇编栈空间问题。

发布时间:2019-07-08 21:08 来源:未知 编辑:admin

  在debug中执行完call指令后,IP不变成DS:[0eh]中的值反而变成ss:[08h]中的值啊?而且ss:[08h]值是你刚才所说的单步中断过程的一个值。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  展开全部此题最重要的是要明白不能用debug单步跟踪。主要原因是数据段和堆栈段相同,又有call word ptr ds:[0EH]指令。任何涉及堆栈操作的,都会同时改变数据段中的值,包括调用子程序,被中断等等。

  假设用debug单步跟踪,执行call word ptr ds:[0EH],SP=SP-2=10H-2=0EH,指令执行后就被debug中断,首先压入标志寄存器,即0EH开始的字单元存储标志寄存器的值。单步中断结束后,程序会jmp word ptr ds:[0EH],程序飘到标志寄存器指向的内存,运气不好程序可能会崩溃,运气好程序可以跑完,但结果难以预料,不受控制,随机的。应为不知道程序会执行什么指令,ss:[08h]会是什么值也不是确定的。

http://mytkt.net/zhilingzhan/247.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有