首页
社区
课程
招聘
[求助]用OD载入程序后和C32载入程序后的地址不是一个地址吧?
发表于: 2009-1-21 21:03 3920

[求助]用OD载入程序后和C32载入程序后的地址不是一个地址吧?

2009-1-21 21:03
3920
我知道 基本地址/内存地址/物理地址=段地址*16+偏移地址

这个OD和C32里所指的地址是什么意思啊?

多谢大大们帮忙

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 559
活跃值: (354)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
内存地址
2009-1-21 21:25
0
雪    币: 2110
活跃值: (21)
能力值: (RANK:260 )
在线值:
发帖
回帖
粉丝
3
呃。。。

段值左移4位再加偏移地址是16位实模式的概念。Windows系统运行在32位保护模式(或64位长模式)下,跟实模式是不同的。

abdK9s2c8@1M7q4)9K6b7g2)9J5c8W2)9J5c8Y4N6%4N6#2)9J5k6i4m8W2k6r3W2&6i4K6u0W2j5$3!0E0i4K6u0r3k6r3!0U0N6h3#2W2L8Y4c8Q4x3X3g2Z5N6r3@1`.有“保护模式编程基础”的资料。

如果对保护模式了解得不多,暂且这样理解就行了:32位平台地址不再“分段”了,地址就是32位的,至于CS、DS、SS等就当是“遗留物”吧。

16位处理器,数据宽度(指ALU或能用寄存器的位数)是16但有20根地址线,所以设计了个“分段”的内存模式。

32位处理器,数据宽度和地址宽度都是32(PAE等技术另论),所以就不必要再“分段”了(虽然intel的硬件确实提供了逻辑分段的能力,但现代操作系统几乎都不用“段式”的内存模型)。
2009-1-21 21:25
0
雪    币: 215
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
c32不知道是说什么,是c32asm吗
OD里我也不太明白,但我知道的是那个地址是相对文件开始的偏移+400000
可能是与那个保护模式有关
2009-1-21 23:26
0
游客
登录 | 注册 方可回帖
返回