【问题标题】:Little Endian addressing小端寻址
【发布时间】:2015-03-18 19:49:33
【问题描述】:

在具有地址约定 Little Endian 的内存中,从 0x100120 开始的下一个内存字节具有以下数据:0x01 0x02 0x03 0x04 0x05。

从地址 0x100121 加载 2 个字节到寄存器 A 后,该寄存器的值是多少?

【问题讨论】:

  • 所以寄存器的值为“10”?
  • 没有。 10是完全错误的。不仅在字节序方面,而且在大小和复制哪些数据方面。一些提示: 1. 0x01 有多少字节? 2.地址指向什么?当地址加一时,地址指向什么? 3. endian 到底影响什么?

标签: assembly architecture


【解决方案1】:

0x100120 有以下日期 0x01 0x02 0x03 0x04 0x05。

0x100120 有 0x01
0x100121 有 0x02 0x100122 有 0x03 0x100123 有 0x04
0x100124 有 0x05

从地址读取 2 个字节时,第一个字节进入 A 寄存器的低位,第二个字节进入 A 寄存器的高位。
所以 AL=0x02 和 AH=0x03
这给出了 AX=0x0302(十进制 770)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 2018-06-04
    • 2011-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多