鱼C论坛

 找回密码
 立即注册
查看: 3189|回复: 1

实验八不懂啊

[复制链接]
发表于 2011-4-10 20:31:13 | 显示全部楼层 |阅读模式

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

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

x
P8R%O}H%`{9JG_8{0G]116J.jpg
这里 mov ax,cs:[si]
mov cs:[di],ax 不是把偏移地址为s2里的数据送到第一个nop中吗
为什么到nop那里变成了jmp short s1 如果有条指令在cs段中mov AX,F6B8 那么ax里存的是数据F6B8还是jmp 。。指令

为什么nop变成了jmp short s1后不执行跳到s1处 如果 把一条jmp指令变换位置后 他是不是只执行未移动前的位移
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-4-11 12:52:10 | 显示全部楼层
你Debug跟踪一下就知道了。用编译器编译成机器码的时候,jmp指令后边是转移的位移。而不是位置
mov ax,cs:[si]
mov cs:[di],ax     是把s2中的机器指令复制到s处的。因为jmp指令后边是转移的位移。所以在执行s处指令jmp short s时,实际上执行的是jmp short 0  。因为s处的转移位移正好指向IP=0处。我表达能力不好。还不明白的话说一声。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-20 04:54

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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