【发布时间】:2014-03-16 22:53:23
【问题描述】:
我很难理解这个命令的作用。我猜这意味着 mov 半字已登录到寄存器中,但我不确定。任何帮助将不胜感激!
【问题讨论】:
标签: assembly arm 32-bit keil jump-table
我很难理解这个命令的作用。我猜这意味着 mov 半字已登录到寄存器中,但我不确定。任何帮助将不胜感激!
【问题讨论】:
标签: assembly arm 32-bit keil jump-table
我认为这是一个正常的移动,只有在当前条件代码指示“更高或相同”(无符号 >= 来自先前的比较或减去)时才会发生。
【讨论】:
CS(进位集),但 HS 是公认的同义词(LO 也是 CC)。
这与半字或有符号无关。如果您感到困惑,而不是猜测,ARM info center 始终是一个很好的起点。无论如何,要回答您的问题,此命令或助记符的作用是在 CSPR (Current Program Status Register) 中查找,并从其中存储的值中删除。现在这可能是像cmp r0, r1 这样的早期调用的结果。假设是这种情况,并且在调用代码movhs 之前调用了cmp r0, r1。现在,cmp 调用的状态存储在 CPSR 中,当像movhs 一样添加hs 或cs 等条件时,这意味着该语句将只如果 CPSR 中的结果更高或相同,则执行,即在伪代码中,if (r1 >= r0){execute the mov command}。
【讨论】: