【问题标题】:Big Endian and Little Endian大端和小端
【发布时间】:2011-12-24 09:45:54
【问题描述】:

Given 是字节可寻址计算机的内存快照。如果机器是大端并且当机器是小端时,在执行指令lw $16, 24($17) 之后将加载到寄存器$16 中的内容。注册$17 包含200。

现在根据我的说法,无论是 Little Endian 还是 Big Endian,都会从内存 (224-227) 复制四个字节,然后如果机器是 Big Endian,那么它们将按原样复制到寄存器中。

如果机器是Little Endian则将反转然后复制到寄存器。

如果我对这个概念有误,请指导我。

【问题讨论】:

  • 基本上,你是对的。但是,我对 mips 的了解还不够,无法知道没有问题。
  • 大/小字节序与 MIPS 无关。所以他说得很对:)

标签: mips computer-architecture endianness mips32


【解决方案1】:

你是对的。

从技术上讲,在大端模式下,最高有效字节是地址最低的字节,最低有效字节是最高地址的字节。在 little-endian 模式下,最高有效字节是具有最高地址的字节,而最低有效字节是具有最低地址的字节。

所以 $16 寄存器的内容是

如果大端 -> BADADBBD 如果是小端 -> BDDBDABA

【讨论】:

  • 是的,我真的混淆了内存中的字节顺序和不相关的寄存器中的位模式。相同数字的寄存器中的位模式在两种架构中都是相同的。
  • 不,内存和寄存器中的字节顺序是一样的。
  • 澄清一下,无论哪种情况,从224 到227 的四个字节都将被加载到$16 中;如果架构一开始是 little-endian,则 OP 的内存图的编号将被颠倒,因此给我们 BDDBDABA 而不是 BADADBBD
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-02-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-15
  • 2014-01-11
  • 1970-01-01
相关资源
最近更新 更多