-1

我很难理解这个命令的作用。我猜这意味着 mov 半字已登录到寄存器中,但我不确定。任何帮助,将不胜感激!

4

2 回答 2

3

我认为这是一个正常的举动,只有在当前条件代码指示“更高或相同”时才会发生(无符号> =来自先前的比较或减去)。

于 2014-03-16T23:02:35.183 回答
0

这与半字或有符号无关。如果您感到困惑而不是猜测,ARM 信息中心总是一个很好的起点。无论如何,要回答您的问题,此命令或助记符的作用是在CSPR(当前程序状态寄存器)中查找,并从其中存储的值中消失。现在这可能是之前调用的结果,例如cmp r0, r1. 假设是这种情况,并且cmp r0, r1在调用代码之前movhs被调用。现在,调用的状态存储在 CPSR 中,并且当在 的情况下添加cmp诸如hsor之类的条件时,这意味着该语句仅在 CPSR 中的结果更高或相同时才会执行,即,在伪代码中,csmovhsif (r1 >= r0){execute the mov command}.

于 2014-04-10T16:14:07.873 回答