我很难理解这个命令的作用。我猜这意味着 mov 半字已登录到寄存器中,但我不确定。任何帮助,将不胜感激!
user2403571
问问题
908 次
2 回答
3
我认为这是一个正常的举动,只有在当前条件代码指示“更高或相同”时才会发生(无符号> =来自先前的比较或减去)。
于 2014-03-16T23:02:35.183 回答
0
这与半字或有符号无关。如果您感到困惑而不是猜测,ARM 信息中心总是一个很好的起点。无论如何,要回答您的问题,此命令或助记符的作用是在CSPR(当前程序状态寄存器)中查找,并从其中存储的值中消失。现在这可能是之前调用的结果,例如cmp r0, r1
. 假设是这种情况,并且cmp r0, r1
在调用代码之前movhs
被调用。现在,调用的状态存储在 CPSR 中,并且当在 的情况下添加cmp
诸如hs
or之类的条件时,这意味着该语句仅在 CPSR 中的结果更高或相同时才会执行,即,在伪代码中,cs
movhs
if (r1 >= r0){execute the mov command}
.
于 2014-04-10T16:14:07.873 回答