欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

王爽汇编语言实验2里的图3.19有关问题疑惑

更新时间: 2014-01-05 03:17:16 责任编辑: Author_N1

 

王爽汇编语言实验2里的图3.19问题疑惑
看王爽的汇编语言(第二版)里, 第三章实验2里的图3.19
mov ax,2000h
mov ss,ax
mov sp,10
mov ax,3123
push ax
mov ax,3366
push ax

t单步跟踪
执行到mov ax,3123指令的时候,栈2000:000f 到 2000:0007的内容发生了改变,
解释是单步调试的时候产生中断,需要保存标志寄存器、cs和ip的值
有一点疑惑的是,三个寄存器保存在栈中2000:000f到2000:0009中,
2000:0007到200:0008中的值也改变了,这存的是什么呢?
--参考方法--
这个,其实也简单,既然是 debug 的 t 命令,就进去看下呗:
1. debug yourexe.exe 载入你的待调试程序
2. t 命令单步一下,主要是让 debug 设置单步中断
3. d 0:4 l 4 查看单步中断入口
4. u 3. 得到的地址比如显示 BB 13 69 05 的话,这里就是 u 0569:13BB
5. 我的 xp/sp3 的 debug 显示
0569:13BB 55            PUSH    BP
0569:13BC 8BEC          MOV     BP,SP
0569:13BE 50            PUSH    AX
0569:13BF 2E            CS:
0569:13C0 F606495601    TEST    BYTE PTR [5649],01

起码有两个 push 指令嘛,分别将 bp 和 ax 压栈了;后面,debug 的单步中断应该会设置使用自己的堆栈,临结束再恢复到用户的。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:17:16
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/20400/
本文WWW.DOC100.NET DOC100.NET版权所有。