Assembly 小端值和大端值
我目前正在学习计算机系统,对正在发生的事情一无所知。我的家庭作业中有这样一个问题: 在字节可寻址系统中,字节序列从地址Assembly 小端值和大端值,assembly,endianness,Assembly,Endianness,我目前正在学习计算机系统,对正在发生的事情一无所知。我的家庭作业中有这样一个问题: 在字节可寻址系统中,字节序列从地址0x10010000 0x23、0x1a、0x25、0xaf、0xef、0xa5、0x5a、0x61、0x6f、0x73开始。如果系统使用48位寄存器并支持加载命令“ld48bit,”从内存加载48位信息。在以下场景中,“ld48位$t0,0x10010002”之后的寄存器t0的内容是什么 系统使用big-endian约定 该系统使用小端点约定 这是否意味着我们将0x100100
0x10010000 0x23、0x1a、0x25、0xaf、0xef、0xa5、0x5a、0x61、0x6f、0x73开始。如果系统使用48位寄存器并支持加载命令“ld48bit,
”从内存加载48位信息。在以下场景中,“ld48位$t0,0x10010002
”之后的寄存器t0
的内容是什么
系统使用big-endian约定
该系统使用小端点约定
这是否意味着我们将0x10010002
的值加载到$t0
中,但我们将其更改为48位而不是8位?然后,我们在使用大端号时按降序列出t0
的值,在使用小端号时按升序列出?老实说,我不知道如何首先解决这个问题。任何帮助都将不胜感激。谢谢大家! 您有一个10字节-80位的数组。处理器可以加载6个字节-48位。但它被要求从(地址+2)读取。这意味着您列出的前2个字节和最后2个字节将被忽略
在big-endian内存存储的情况下,遇到的第一个字节是最重要的,因此数据寄存器将“显示”以与当前相同的顺序保存字节
0x25afefa55a61
在小端存储器存储的情况下,遇到的第一个字节是最低有效的,因此读入寄存器的字节顺序将颠倒
0x615aa5efaf25
人类通常使用大端描述格式,例如在1000
中,最重要的数字是第一位。谢谢!不过,我不明白为什么我们也必须忽略前2位。@Riadiani,因为问题说“字节序列是从地址0x10010000
开始的”,但接着给出指令ld48bit$t0,0x10010002
,它比数组基地址大2个字节。