ARM - 内存地址号实际指向哪里 - 地址的顶部或底部?

ARM - Where does a memory address number actually point to - the top of the address or the bottom?

我正在阅读 ARM 中的 LDRB/STRB 指令,想知道内存地址(如您用来引用地址的完整 32 位数字 - 而不是标签或变量使用 DEFW 创建)指向内存地址的顶部或底部。

我将把每个地址中的 32 位像架子的层级一样来讨论。据我理解,内存space就像一个巨大的书架,从地面到天花板有数十亿层,而每一层都可以放一本书(一点数据)。

ARM 中的内存地址大小为 32 位,因此高 32 级。假设底部货架的编号为 0,顶部货架的编号为 0xFFFFFFFF,那么我们用来指代内存地址(一组 32 个货架级别)的 32 位长数字是否指向该组中的顶部货架,或底部货架?

虽然这个问题是在我更多地了解 LDRB 和 STRB 指令的实现时出现的,但我认为这个问题更多的是与理论相关,因为它讨论的内存结构比其他任何东西都多。如果我错误地标记了它,mods 可以随意删除标签或更改它们。在此先感谢您的帮助!

您似乎认为内存在 ARM 上是位可寻址的。事实上它是字节可寻址的,所以每个地址指向一个字节的内存。如果您考虑更大的操作数(半个字,字),那么 address 就是开始,也就是您所说的底部。一个单词操作数将占用 address+0address+1address+2address+3.