Assembly MSP430 CMP运算符

Assembly MSP430 CMP运算符,assembly,msp430,Assembly,Msp430,假设我有下面的MSP430组装段: r15: 内存映射: 4390: 6045 0200 9c43 6400 8844 5044 363a 0000 代码: 目标是让Z旗高高飘扬。要对cmp执行此操作,src和dst必须相等。 如果r15的内存位置中有363a,为什么生成的cmp不会触发Z标志 通过实验,我发现将3a36放在r15的内存位置确实触发了Z标志,但我不明白为什么 如果有人能把这件事公诸于众,我将不胜感激 如果需要更多的信息,我很乐意提供。原因是这是一台little endian

假设我有下面的MSP430组装段:

r15:

内存映射:

4390:   6045 0200 9c43 6400 8844 5044 363a 0000
代码:

目标是让Z旗高高飘扬。要对cmp执行此操作,src和dst必须相等。 如果r15的内存位置中有363a,为什么生成的cmp不会触发Z标志

通过实验,我发现将3a36放在r15的内存位置确实触发了Z标志,但我不明白为什么

如果有人能把这件事公诸于众,我将不胜感激

如果需要更多的信息,我很乐意提供。

原因是这是一台little endian机器。
即,较低地址处的字节
0x439C
被解释为最低有效字节。
较高地址
0x439D
处的字节被解释为最高有效字节。

因此,内存中的16位值实际上被解释为
0x36+(0x3A非常感谢您的回答,这是有意义的。我的困惑在于大尾端和小尾端。我假设它们是位反转,而不是字节反转。
4390:   6045 0200 9c43 6400 8844 5044 363a 0000
448a:  cmp  #0x363a, 0x0(r15)
4490:  jnz  $+0x1c
4492:  Code continues
.
.
.
44ac: Jump to location