鱼C论坛

 找回密码
 立即注册
查看: 1285|回复: 2

检测点10.4

[复制链接]
回帖奖励 1 鱼币 回复本帖可获得 1 鱼币奖励! 每人限 1 次(中奖概率 10%)
发表于 2013-12-8 10:11:23 | 显示全部楼层 |阅读模式

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

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

x
程序如下
1000:0     b8 06 00      mov ax,6       ax=6,ip指向1000:3
1000:3     ff d0         call ax        pop ip,ip指向1000:6
1000:5     40            inc ax
1000:6     58            mov bp,sp      bp=sp=fffeh
                         add ax,[bp]    ax=[6+ds:(fffeh)]=6+5=0bh


执行call ax 的时候不是应该把偏移地址5推入栈么?
书本上不是说的,执行call 的时候,是push ip  然后在jmp跳转的么?
跳转的时候为什么跳转到1000:6,1000:6地址也没有AX啊?
还有sp的值是不是上机查看的?
fffe怎么等于5?


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

使用道具 举报

发表于 2013-12-8 11:47:18 | 显示全部楼层
看了好久,终于看明白你想问什么了。
执行call后,sp里存的是当前ip的的值5,fffeh是栈顶sp的偏移地址,ds:(fffeh)指的是地址里的内容,为5.
其它不知道怎么回答了。好好看书吧~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-12-9 16:52:30 | 显示全部楼层
1、执行call ax 的时候不是应该把偏移地址5推入栈么?

2、书本上不是说的,执行call 的时候,是push ip  然后在jmp跳转的么?

跳转的时候为什么跳转到1000:6,1000:6地址也没有AX啊?
call ax 相当于 push ip  
                      jmp near ptr ax
ax存储的是跳转的偏移地址
3、还有sp的值是不是上机查看的?
这里是没有上下文的sp,当然是系统默认栈
4、fffe怎么等于5?
这里的5就是执行call ax时候push ip中IP的值啊!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-17 16:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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