王爽汇编语言实验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