奇怪的数据
assume cs:code,ds:datadata segment
dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
dw 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
data ends
code segment
start:mov ax,data
mov ds,ax
mov ss,ax
mov sp,30h ;将设置栈顶ss:sp 指向cs:30
mov bx,0
mov cx,8
s:push
add bx,2
loop s ;以上将代码0~15单元抵中的8个字型数据依次入栈
mov bx,0
mov cx,8
s0:pop
add bx,2
loop s0 ;以上依次出栈8个字型数据到代码段0~15单元中
mov ax,4c00h
int 21
code ends
end start ;指明程序的入口在start处
还没一直继续跟踪下去的时候是这样的,栈段都是零的。
我一条一条指令执行下去之后
这是原来本机的数据?
我看不懂,啊天数 我可以尝试着帮你解答一下。原因就是程序中断。
就从你截得图中来说明吧。
debug程序,其实就是一个程序中断。你所写的代码本身是完整的程序,然后通过debug每次提出中断请求,来让你做到每执行一条语句停止一下。然而再每次你所执行的程序要转向debug的时候,要将程序当时运行的现场保存,在这里的现场,就是程序指令的CS,IP,保存在栈中。所以你在最后的栈的数据中可以看到你最近执行的程序指令的地址。
仔细看也会发现,里面有许多数据都是13D4 的,那就是记录的CS留下的痕迹。 希望对你有帮助!~~~~{:5_108:} 无回帖,不论坛,这才是人道。 压寨宝宝 发表于 2013-6-18 22:35 static/image/common/back.gif
我可以尝试着帮你解答一下。原因就是程序中断。
就从你截得图中来说明吧。
debug程序,其实就是一个程序中 ...
不对呀这个是恢复本机原来的数据 本帖最后由 yearn2005 于 2013-6-21 23:22 编辑
压寨宝宝 发表于 2013-6-18 22:35 static/image/common/back.gif
我可以尝试着帮你解答一下。原因就是程序中断。
就从你截得图中来说明吧。
debug程序,其实就是一个程序中 ...
哈哈你无意中帮我解答了一个困惑,之前也在王爽10.5监测点中发现这个问题。发贴求问,没人答。谢谢啦我原来的帖子 http://bbs.fishc.com/thread-32878-1-1.html,在同个程序中还有第2个问题,还是没想通。
阳光影子 发表于 2013-6-21 20:22 static/image/common/back.gif
不对呀这个是恢复本机原来的数据
额。有点不太懂恢复本机原来数据是指什么。。
本机数据是哪些?
压寨宝宝 发表于 2013-6-22 09:17 static/image/common/back.gif
额。有点不太懂恢复本机原来数据是指什么。。
本机数据是哪些?
就是没加载程序时的数据当加载程序的时候,本机原来在那个位置的数据暂时被程序数据覆盖了,然后一步一步pop的时候本机原来在那个位置的数据又恢复了 路过啊啊:lol::lol: 栈顶在应该指向32吧 支持你一下下 不知道 帮顶{:5_109:}
页:
[1]