Assembly MSP430 CMP运算符
假设我有下面的MSP430组装段: r15: 内存映射: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
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