在程序集中更改符号(16 位)
Changing sign in assembly (16 bit)
我应该将一个 16 位值从正值更改为负值。在谷歌上搜索了几分钟后,我找到了一个解决方案,但我仍然不确定它是否正确,如果你能帮助我,那就太好了。赞赏!
eor r4, r1, #0x80000000
使用 reverse subtract 指令 rsb
执行任务。
rsb r4, r1, #0 @ computes r4 = 0 - r1
此指令在 ARM 和 Thumb 状态下均可用,尽管 Thumb1 只有
rsbs Rd, Rn, #0
限制直接操作数为#0
。
我应该将一个 16 位值从正值更改为负值。在谷歌上搜索了几分钟后,我找到了一个解决方案,但我仍然不确定它是否正确,如果你能帮助我,那就太好了。赞赏!
eor r4, r1, #0x80000000
使用 reverse subtract 指令 rsb
执行任务。
rsb r4, r1, #0 @ computes r4 = 0 - r1
此指令在 ARM 和 Thumb 状态下均可用,尽管 Thumb1 只有
rsbs Rd, Rn, #0
限制直接操作数为#0
。