. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->寄存器(内存访问)
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  第三章实验任务第二问找2000:0 ~f 变化的原因?  [已解决] 回复[ 2次 ]   点击[ 362次 ]  
tianyanly1984
[帖 主]   [ 发表时间:2008-12-15 07:36 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-12-12 00:18
据个人分析,单步跟踪,发现变化始于对sp赋值后,而且后面每执行一步都有相应变化,心想变化的东西肯定是记录的栈顶元素的位置信息,于是继续跟踪,果然理出头绪发现其规律为:

         前面没用到的字节位都为00+ax+bp+ip+cs+未知数据

中间的bp是试出来的,我开始还以为是cx,但给cx赋了一个值后测试并不是如此,然后凭直觉又试了si、bp,测试结果就是bp,但后面那个“0d 8a",也就是我说的未知数据,不知道是什么意思?(不同机子执行都不固定,所以被我称作未知数据)
有没有人研究出来后面这两个字节位或者说字型数据是什么含义????
acool
[第1楼]   [ 回复时间:2008-12-15 09:59 ]   [引用]   [回复]   [ top ] 
荣誉值:49
信誉值:0
注册日期:2008-10-15 16:15
楼主很细心啊,按照书上说的就是很有“悟性”。楼主说的位置数据是后面讲的内容,标志寄存器。现在我们可以不去管他,前言中也提到“知识屏蔽”嘛,等学完第十章就接触到了~
t命令也叫单步中断,而中断会保存一些现场信息,比如cs ip等,这部分内容到了学习中断的时候就详细了,现在也可以不管他。
但是自己分析计算机的数据总结规律,深入思考可是很重要的,初学者能做到这点是需要一定的悟性地 :-)
楼主继续加油啊~
tianyanly1984
[第2楼]   [ 回复时间:2008-12-16 23:26 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:4
注册日期:2008-12-12 00:18
此贴由 贴主 于 [ 2008-12-16 23:26 ] 结贴。 结贴原因:问题已解决
得分情况: 1楼(acool):2分  
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved