鱼C论坛

 找回密码
 立即注册
查看: 2481|回复: 7

检测点10.4的sp的问题

[复制链接]
发表于 2012-4-24 12:56:33 | 显示全部楼层 |阅读模式
1鱼币
本帖最后由 Yara 于 2012-4-24 20:23 编辑

程序执行后,ax的值是多少?
内存地址               机器码                      汇编指令
1000:0                b8 06 00                 mov ax,6
1000:2                  ff   d0                   call ax
1000 :5                    40                          inc ax
1000 :6                                                  mov bp,sp
                                                               add ax,[bp]

当执行到 mov bp,sp 时,此时sp等于多少?我觉得此时sp不是等于5,因为call ax时,只是把(sp)推进栈里,而没有把sp推进栈里,那么到了mov bp,sp这一部时,bp就不应该等于5啊,而应该等于sp表示的偏移地址啊,求解啊!!!

最佳答案

查看完整内容

1000:0 b8 06 00 mov ax,6 1000:2 ff d0 call ax 这里把IP=5入栈,修改IP为6 1000 :5 40 inc ax 1000 :6 mov bp,sp sp指向栈顶,栈顶为内容为5。【BP】就是栈顶内容了 ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-4-24 12:56:34 | 显示全部楼层
1000:0                b8 06 00                 mov ax,6
1000:2                  ff   d0                   call ax            这里把IP=5入栈,修改IP为6
1000 :5                    40                          inc ax
1000 :6                                                  mov bp,sp      sp指向栈顶,栈顶为内容为5。【BP】就是栈顶内容了
                                                               add ax,[bp]
6+5
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-24 15:14:57 | 显示全部楼层
没有大大知道吗:'(
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2012-4-24 16:19:52 | 显示全部楼层
sp的值是无法得到的。这题结果也与sp的值无关。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-24 18:44:30 | 显示全部楼层

那么mov bp,sp的意思就是把sp的偏移地址给bp啊,而题目又没有说mov ax,ss   mov ds,ax这样的,那怎么可以得到sp所指向的对应5h的偏移地址啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-4-24 20:22:35 | 显示全部楼层
我突然明白了:Q,原来bp默认的段寄存器是SS,我忘了。。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-7 22:47:55 | 显示全部楼层
非常有用,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-9-8 21:23:18 | 显示全部楼层
帮楼主顶一下,顺便赚点鱼币
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-18 12:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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