我目前正在使用计算机系统,并且不知道发生了什么。我的作业中有一个问题:
在字节可寻址系统中,字节序列跟随地址0x10010000 0x23, 0x1a, 0x25, 0xaf, 0xef, 0xa5, 0x5a, 0x61, 0x6f, 0x73
。如果系统使用48位寄存器并支持负载加载命令&#39; ld48bit <rt>, <address>
&#39;从内存加载48位信息。在t0
&#39; ld48bit $t0, 0x10010002
&#39;之后注册0x10010002
的内容是什么?在以下场景中?
这是否意味着我们将$t0
的值加载到t0
,但我们将其更改为48位而不是8位?然后我们在使用big endian时按降序排列{{1}}的值,在使用little endian时按升序排列?老实说,我不确定如何首先解决这个问题。任何帮助,将不胜感激。谢谢!
答案 0 :(得分:1)
你有一个10字节的数组--80位。处理器可以加载6个字节--48位。但它被要求阅读(地址+ 2)。这意味着您列出的前2个字节和最后2个字节将被忽略。
在大端存储器存储的情况下,遇到的第一个字节是最重要的,因此数据寄存器将“出现”以按照您提供的顺序保存字节。
0x25afefa55a61
在小端存储器存储的情况下,遇到的第一个字节是最不重要的,因此读入寄存器的字节顺序将被反转。
0x615aa5efaf25
人类通常使用大端描述格式,例如在1000
中,最重要的数字是第一位。