zhaopengfei 发表于 2014-2-28 11:09:51

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

用的是vc++6.0的编译器,看反汇编的时候,出了点问题:

很明显看到,这里的通用寄存器(EAX,EBX等)都是32位的,但是段地址寄存器(CS,DS,SS等)却都是16位的,那么这里是怎么合成32位的有效地址的呢?而且这里的CS:EIP指向的不是第一条指令,怎么回事?


往下来,下边怎么还有一个EIP,CS,DS跟上边的还不一样,麻烦知道的普及一下,万分感谢。

小名明SIU 发表于 2014-2-28 13:02:56

32位之后都采用保护模式,段寄存器不再存放段地址,而是段选择子,根据段选子可以得到段地址(具体的可以看保护模式的书),而现在程序普遍采用的是平坦模式,就是汇编书上的flat,我们写16汇编时常用的是small,平坦模式的数据段、代码段、堆栈段等都的地址一般都是0,所以代码段地址为0,你可以加加试试看。至于下面的EIP,CS,DS是浮点寄存器里的,主要是方便进行浮点数的运算。

zhaopengfei 发表于 2014-2-28 14:04:55

小名明SIU 发表于 2014-2-28 13:02 static/image/common/back.gif
32位之后都采用保护模式,段寄存器不再存放段地址,而是段选择子,根据段选子可以得到段地址(具体的可以看 ...

真是说的我云里雾里的,这跟16位的汇编差别有点大啊。

拉格那 发表于 2014-2-28 14:12:25


看着这标题,我觉得很惋惜

zhaopengfei 发表于 2014-2-28 14:13:19

拉格那 发表于 2014-2-28 14:12 static/image/common/back.gif
看着这标题,我觉得很惋惜

何意 ?????

小名明SIU 发表于 2014-2-28 16:01:12

zhaopengfei 发表于 2014-2-28 14:04 static/image/common/back.gif
真是说的我云里雾里的,这跟16位的汇编差别有点大啊。

这个是保护模式的,推荐你看X86从是模式到保护模式,80x86汇编语言,看完你就懂了

志志志志志志 发表于 2014-2-28 16:35:30

2楼正解,保护模式下的段寄存器不再存放段地址
想知道为什么请看win32汇编(罗云彬的)第一篇第一章的 80x86处理器的工作模式

zhaopengfei 发表于 2014-2-28 17:15:22

小名明SIU 发表于 2014-2-28 16:01 static/image/common/back.gif
这个是保护模式的,推荐你看X86从是模式到保护模式,80x86汇编语言,看完你就懂了

哦,这个是要学习 罗云彬的《琢石成器——windows环境下32位汇编语言程序设计》这本书的吗 ?

zhaopengfei 发表于 2014-2-28 17:16:09

志志志志志志 发表于 2014-2-28 16:35 static/image/common/back.gif
2楼正解,保护模式下的段寄存器不再存放段地址
想知道为什么请看win32汇编(罗云彬的)第一篇第一章的 80 ...

好的好的,明白啦,谢谢推荐。

小名明SIU 发表于 2014-2-28 18:32:21

zhaopengfei 发表于 2014-2-28 17:15 static/image/common/back.gif
哦,这个是要学习 罗云彬的《琢石成器——windows环境下32位汇编语言程序设计》这本书的吗 ?

如果单纯只是学习保护模式可以不看琢石成器。但是想要在windows平台下进行程序开发(主要是带窗口的程序)那就需要看了

zhaopengfei 发表于 2014-2-28 20:26:48

小名明SIU 发表于 2014-2-28 18:32 static/image/common/back.gif
如果单纯只是学习保护模式可以不看琢石成器。但是想要在windows平台下进行程序开发(主要是带窗口的程序) ...

那应该看些什么书呢? 有单纯的讲保护模式的书么 ?

小名明SIU 发表于 2014-2-28 21:06:19

zhaopengfei 发表于 2014-2-28 20:26 static/image/common/back.gif
那应该看些什么书呢? 有单纯的讲保护模式的书么 ?

X86从实模式到保护模式这个本讲的很清楚,或者任一本写操作系统的书,例如30天自制操作系统、orang's 一个操作系统的实现(这本书没有正版的了,卖光了,可以用复印版或者电子版)

zhaopengfei 发表于 2014-2-28 21:58:16

小名明SIU 发表于 2014-2-28 21:06 static/image/common/back.gif
X86从实模式到保护模式这个本讲的很清楚,或者任一本写操作系统的书,例如30天自制操作系统、orang's 一 ...

80X86汇编语言程序设计教程 杨季文著 清华大学出版社 这本怎么样?不错吧

雪花飘飘 发表于 2014-2-28 22:16:55

膜拜会写程序的大牛。

小名明SIU 发表于 2014-2-28 22:50:00

zhaopengfei 发表于 2014-2-28 21:58 static/image/common/back.gif
80X86汇编语言程序设计教程 杨季文著 清华大学出版社 这本怎么样?不错吧

这本书也行
页: [1]
查看完整版本: VC++的反汇编,看球不懂。