鱼C论坛

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

疯狂的程序员中一个片段不理解-求解答

[复制链接]
发表于 2011-8-10 07:55:51 | 显示全部楼层 |阅读模式

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

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

x
她自以为出了个很简单而又充满杀机的问题:pop eax指令计算机执行了哪些操作?
这时候,好多同学笑了。她不知道,但他们知道,甚至好多老师都知道,他们知道这些问题根本难不到绝影,想用这种办法整他,那是自己给自己找麻烦,不会让他下不了台,只会让自己下不了台。
像土匪这样的人,肯定说:“把栈顶的值送eax。”
成绩好的会补充:“把栈顶指针往下移4字节。”
绝影说:“mov eax,dword ptr [esp]  add esp,4

------------------------------
我想问的是,他利用mov 和 add 指令解答老师的pop eax 做了什么  

那么 esp 偏移 段地址 是什么 是DS?  他这里应该是32位的  所以esp+4

请大家帮助我   为什么要把 ds:esp 的传送到eax  ,

不是应该吧ecs:esp的传送到eax么?


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-10 07:59:02 | 显示全部楼层
自己顶起 求解答
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-10 08:51:21 | 显示全部楼层
ESP默认的段地址是 SS!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-10 09:58:55 | 显示全部楼层
pop eax指令 1.先把栈顶元素放入ax寄存器,2.然后增加偏移地址

1.mov eax,dword ptr [esp]  sp的段寄存器是ss,也就是说ss:sp指向栈顶元素,mov .. , .. 将ss:sp所指向的元素放入ax
2.add esp,4     然后来增加sp即偏移地址指向新的栈顶!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-10 10:12:10 | 显示全部楼层
默认是ss!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-10 10:12:32 | 显示全部楼层
求解                                    
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-8-10 11:34:51 | 显示全部楼层

小弟资质愚钝
您的意思是如果 后面的 偏移 是[ESP] 那么他的段地址就是 SS?  

像这样
mov eax,dword ptr [esp]   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2020-4-6 14:06:00 From FishC Mobile | 显示全部楼层
这小说,没点儿功底,还真看不懂
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 04:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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