鱼C论坛

 找回密码
 立即注册
查看: 3354|回复: 10

对实验八(8)的理解

[复制链接]
发表于 2011-11-9 12:49:48 | 显示全部楼层 |阅读模式

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

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

x
对于实验8,小甲鱼说,让系统玩一下。我想说的是,我被这个实验玩了,五节课


fun.png debug.png

实验八的程序如上左
在debug 中反汇编如上图右

在行10-13行的意思是把标号s2所在行的指令复制到标号s  所在行处

程序从start 处开始执行
当执行到s0处时跳转到标号s处执行指令 jmp ahort s1
QQ五22未命名.png
此时应注意这条指令的位移量 不是 18h - 9h
而是
8位位移量= 18h - 22h = f6h(-10的补码)
jmp short s1 相当于  jmp cs:[ip]

cs= a4a4
ip =f6 +0a

所以程序开始执行指令 mov ax,4c00h   int 21h 程序正常结束。

新人一定要注意 计算位移量时标号的位置,标号的地址是复制前的而不是复制后的。
我也是刚学这个  ,也算个新人,呵。个人见解,不对的话请高手指出。。。谢谢。也给后来人一个引导。。。。少浪费时间想这些东西。我做这题浪费了不少时间 。。。。不想后来人和我一样。。。。。。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-9 12:53:58 | 显示全部楼层
共同 建设我们的鱼c 论坛  。。沙发自己坐:D
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-9 16:12:35 | 显示全部楼层
本帖最后由 kane080824 于 2011-11-9 16:14 编辑

其实对于段内转移来说,偏移的距离在复制指令前后并没有变化,变化的是,偏移的起始点位置变了,比如实验八中,前后的偏移距离都是f6,这个是没有变化的,变化的是偏移的起始点发生了改变,一个是在S2处开始偏移f6,一个是在S处开始偏移f6而已,不用去管偏移量是多少,要注意复制后的偏移是在新位置上开始的,而不要简单看标号,标号只有在没有发生复制时有效
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-9 19:46:40 | 显示全部楼层
这应该是总结吧{:7_148:}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 06:41:40 | 显示全部楼层
让新手自己尝试吧,知道错了才长记性。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 11:12:46 | 显示全部楼层
总结的好 标号在编译后是不存在的 只有偏移量
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 11:16:32 | 显示全部楼层
我也是新人,我知道只要多想,多动手,还有小甲鱼老师的解说,很快就能理解的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-10 13:40:37 | 显示全部楼层
虽然知道怎么回事 看到LS的各种说法,更加深理解了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-10 17:45:39 | 显示全部楼层
如果 知道 小甲鱼的下一个视频对这个实验有讲解。打死我也不会发这个帖子。悲剧吖,。。。。。:L
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-12-22 21:53:18 | 显示全部楼层
我也被这个程序玩儿了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2017-1-6 18:24:46 | 显示全部楼层
0a是怎么算出来的啊?想不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-6 14:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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