鱼C论坛

 找回密码
 立即注册
查看: 3593|回复: 14

VC++的反汇编,看球不懂。

[复制链接]
发表于 2014-2-28 11:09:51 | 显示全部楼层 |阅读模式

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

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

x
用的是vc++6.0的编译器,看反汇编的时候,出了点问题:
寄存器.png QQ截图20140228104606.png
很明显看到,这里的通用寄存器(EAX,EBX等)都是32位的,但是段地址寄存器(CS,DS,SS等)却都是16位的,那么这里是怎么合成32位的有效地址的呢?  而且这里的CS:EIP指向的不是第一条指令,怎么回事?

QQ截图20140228104735.png
往下来,下边怎么还有一个EIP,CS,DS跟上边的还不一样,麻烦知道的普及一下,万分感谢。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-2-28 13:02:56 | 显示全部楼层
32位之后都采用保护模式,段寄存器不再存放段地址,而是段选择子,根据段选子可以得到段地址(具体的可以看保护模式的书),而现在程序普遍采用的是平坦模式,就是汇编书上的flat,我们写16汇编时常用的是small,平坦模式的数据段、代码段、堆栈段等都的地址一般都是0,所以代码段地址为0,你可以加加试试看。至于下面的EIP,CS,DS是浮点寄存器里的,主要是方便进行浮点数的运算。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 14:04:55 | 显示全部楼层

真是说的我云里雾里的,这跟16位的汇编差别有点大啊。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 14:12:25 | 显示全部楼层

看着这标题,我觉得很惋惜
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 14:13:19 | 显示全部楼层
拉格那 发表于 2014-2-28 14:12
看着这标题,我觉得很惋惜

何意 ?????
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 16:01:12 | 显示全部楼层
zhaopengfei 发表于 2014-2-28 14:04
真是说的我云里雾里的,这跟16位的汇编差别有点大啊。

这个是保护模式的,推荐你看X86从是模式到保护模式,80x86汇编语言,看完你就懂了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 16:35:30 | 显示全部楼层
2楼正解,保护模式下的段寄存器不再存放段地址
想知道为什么请看win32汇编(罗云彬的)第一篇第一章的 80x86处理器的工作模式
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 17:15:22 | 显示全部楼层
小名明SIU 发表于 2014-2-28 16:01
这个是保护模式的,推荐你看X86从是模式到保护模式,80x86汇编语言,看完你就懂了

哦,这个是要学习 罗云彬的《琢石成器——windows环境下32位汇编语言程序设计》这本书的吗 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 17:16:09 | 显示全部楼层
志志志志志志 发表于 2014-2-28 16:35
2楼正解,保护模式下的段寄存器不再存放段地址
想知道为什么请看win32汇编(罗云彬的)第一篇第一章的 80 ...

好的好的,明白啦,谢谢推荐。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 18:32:21 | 显示全部楼层
zhaopengfei 发表于 2014-2-28 17:15
哦,这个是要学习 罗云彬的《琢石成器——windows环境下32位汇编语言程序设计》这本书的吗 ?

如果单纯只是学习保护模式可以不看琢石成器。但是想要在windows平台下进行程序开发(主要是带窗口的程序)那就需要看了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 20:26:48 | 显示全部楼层
小名明SIU 发表于 2014-2-28 18:32
如果单纯只是学习保护模式可以不看琢石成器。但是想要在windows平台下进行程序开发(主要是带窗口的程序) ...

那应该看些什么书呢? 有单纯的讲保护模式的书么 ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 21:06:19 | 显示全部楼层
zhaopengfei 发表于 2014-2-28 20:26
那应该看些什么书呢? 有单纯的讲保护模式的书么 ?

X86从实模式到保护模式  这个本讲的很清楚,或者任一本写操作系统的书,例如30天自制操作系统、orang's 一个操作系统的实现(这本书没有正版的了,卖光了,可以用复印版或者电子版)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-2-28 21:58:16 | 显示全部楼层
小名明SIU 发表于 2014-2-28 21:06
X86从实模式到保护模式  这个本讲的很清楚,或者任一本写操作系统的书,例如30天自制操作系统、orang's 一 ...

80X86汇编语言程序设计教程 杨季文著 清华大学出版社 这本怎么样?  不错吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 22:16:55 | 显示全部楼层
膜拜会写程序的大牛。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-2-28 22:50:00 | 显示全部楼层
zhaopengfei 发表于 2014-2-28 21:58
80X86汇编语言程序设计教程 杨季文著 清华大学出版社 这本怎么样?  不错吧

这本书也行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 19:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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