不同种类的物理内存表示?

时间:2016-05-30 08:47:31

标签: eclipse memory-address disassembly

我对#34;低级别"非常新。编程,实际上我只是在eclipse中逐步完成一些代码。在"反汇编视图"在eclipse中,第一列代表内存地址。它看起来像:

000936fc:   E5DCC000 LDRB            R12, [R12]
00093700:   E35C0000 CMP             R12, #0

所以,"虚拟"问题: 我只知道这样的记忆表示:

0x5600000:

0x825ffff:

那么,第一个例子的内存地址是否与下一个相同? :

0x0936fc
0x093700

1 个答案:

答案 0 :(得分:1)

您的问题有多种解释。最简单的是“为什么这些地址更短”。答案是他们将0扩展到程序计数器字长。

另一个可能的问题是为什么这些地址不同,而我不熟悉Eclipse的调试菜单,所以我将对你从哪里派生这些数字做一些假设。如果Eclipse提供类似于其他调试器的信息,那么您只需查看链接器的手工操作。

这些地址大致称为虚拟地址,是relocations的结果,可能由于众多原因而无法枚举。

相关问题