汇编内存图验证

时间:2015-10-01 23:17:19

标签: memory assembly diagram

鉴于此数据,

  .data
  Alpha WORD 0022h, 45h
  Beta BYTE 56h
  Gamma DWORD 4567h
  Delta BYTE 23h

假设数据段从0x00404000开始,任何人都可以验证此表的正确性吗?

Address     Variable    Data
00404000    Alpha       22
00404001    Alpha + 1   00
00404002    Alpha + 2   45
00404003    Beta        56
00404004    Gamma       67
00404005    Gamma+1     45
00404006    Delta       23

1 个答案:

答案 0 :(得分:2)

在不知道相关处理器的寻址(以及汇编程序如何查看寻址)的情况下无法回答。尽管如此,您还需要一个非常不寻常的系统才能使其正确。

定义的Alpha具有类型" word"。您将第一个单词显示为分配两个字节(相当合理),但第二个字节只显示一个字节。这不太合理 - 一个字可能是一个字节,也可能是两个字,但它的大小通常至少是一致的。

目前,让我们假设一个字是两个字节,而一个字是四个字节。在那种情况下,我期待更多的东西:

container.RegisterType<IUserStore<ApplicationUser, int>, ApplicationUserStore>();
container.RegisterType<ApplicationUserManager>();