如果某些东西存储在0x1001 0000,则下一个存储在0x1001 0004.如果我是正确的,32位架构中的存储器块各为32位.那么0x1001 0002会指向32位的后半部分吗?
gus*_*bro 10
首先,MIPS架构中的存储器地址不会增加4. MIPS使用字节寻址,因此您可以从存储器寻址任何字节(参见例如lb和lbu读取单个字节,lh以及lhu读取半字).
事实是,如果你读取32位长度(4字节lw)的字,那么两个连续的字将彼此相距4个字节.在这种情况下,您将向第一个单词的地址添加4以获取下一个单词的地址.
除此之外,如果您阅读单词,则必须将它们以4的倍数对齐,否则您将获得对齐异常.
在您的示例中,如果第一个字存储在0x10010000中,那么下一个字将在0x10010004中,当然前半部分/后半部分将在0x1001000和0x1001002中(排序将取决于体系结构的字节顺序).
| 归档时间: |
|
| 查看次数: |
7717 次 |
| 最近记录: |