【发布时间】:2012-06-20 23:50:59
【问题描述】:
所以鉴于我有一台 64 位机器。我知道我的程序加载的地址的内存是)
0x8000:0000 and
我需要找到目标内存地址,从 0x8000:0000 开始,我之间至少有 512 MB。
那么我如何找出这个目标内存是什么?
我所做的计算是 8000:0000 + 0x20000000 = 结果是目的地。但我不完全确定它是否正确。所以我在这里需要一些帮助。谁能帮我解决这个问题?
【问题讨论】:
-
您到底想完成什么?您在这里可以忽略很多事情。虚拟地址空间、分页、分段等
-
@JonathonReinhart 我想找出这个内存地址,我可以在其中写入一些模式进行测试。但问题是我需要找到可以安全地编写这些测试模式的目的地。所以我知道 0X8000:0000 地址之后的 512 MB 是安全的。但是我需要找到确切的地址,以便我可以明确地使用内存地址
-
我想我的问题是,你从哪里得到这个地址(特别是这个符号)?
-
@JonathonReinhart 我从技术参考手册中的系统内存映射中得到了这个地址。这 512 MB 是我出于某种目的设置的限制
标签: 64-bit hex offset memory-address base-address