鱼C论坛

 找回密码
 立即注册
查看: 2195|回复: 12

奇怪的数据

[复制链接]
发表于 2013-6-18 21:33:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
assume cs:code,ds:data

data 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 [bx]
                  add bx,2
                  loop s        ;以上将代码0~15单元抵中的8个字型数据依次入栈
                  
                  mov bx,0
                  mov cx,8
           s0:pop [bx]
              add bx,2
                  loop s0         ;以上依次出栈8个字型数据到代码段0~15单元中
                  
                  mov ax,4c00h
                  int 21
code ends
end start     ;指明程序的入口在start处

1

1
还没一直继续跟踪下去的时候是这样的,栈段都是零的。
我一条一条指令执行下去之后

1

1


这是原来本机的数据?



想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-18 22:02:07 | 显示全部楼层
我看不懂,啊天数  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-18 22:35:37 | 显示全部楼层
我可以尝试着帮你解答一下。原因就是程序中断。
就从你截得图中来说明吧。
debug程序,其实就是一个程序中断。你所写的代码本身是完整的程序,然后通过debug每次提出中断请求,来让你做到每执行一条语句停止一下。然而再每次你所执行的程序要转向debug的时候,要将程序当时运行的现场保存,在这里的现场,就是程序指令的CS,IP,保存在栈中。所以你在最后的栈的数据中可以看到你最近执行的程序指令的地址。
仔细看也会发现,里面有许多数据都是13D4 的,那就是记录的CS留下的痕迹。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-18 22:41:57 | 显示全部楼层
希望对你有帮助!~~~~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-19 07:09:54 | 显示全部楼层
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-21 20:22:47 | 显示全部楼层

不对呀  这个是恢复本机原来的数据
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-21 23:20:34 | 显示全部楼层
本帖最后由 yearn2005 于 2013-6-21 23:22 编辑
压寨宝宝 发表于 2013-6-18 22:35
我可以尝试着帮你解答一下。原因就是程序中断。
就从你截得图中来说明吧。
debug程序,其实就是一个程序中 ...

哈哈  你无意中帮我解答了一个困惑,之前也在王爽10.5监测点中发现这个问题。发贴求问,没人答。谢谢啦我原来的帖子 http://bbs.fishc.com/thread-32878-1-1.html,在同个程序中还有第2个问题,还是没想通。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-22 09:17:06 | 显示全部楼层
阳光影子 发表于 2013-6-21 20:22
不对呀  这个是恢复本机原来的数据

额。有点不太懂恢复本机原来数据是指什么。。
本机数据是哪些?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-22 13:42:24 | 显示全部楼层
压寨宝宝 发表于 2013-6-22 09:17
额。有点不太懂恢复本机原来数据是指什么。。
本机数据是哪些?

就是没加载程序时的数据  当加载程序的时候,本机原来在那个位置的数据暂时被程序数据覆盖了,然后一步一步pop的时候本机原来在那个位置的数据又恢复了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-13 14:14:38 | 显示全部楼层
路过啊啊:lol::lol:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-13 14:19:04 | 显示全部楼层
栈顶在应该指向32吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-13 14:55:01 | 显示全部楼层
支持你一下下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-8-14 03:53:45 | 显示全部楼层
不知道 帮顶
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-29 05:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表