【问题标题】:What does the MOVHS command in ARM assembly do?ARM 汇编中的 MOVHS 命令有什么作用?
【发布时间】:2014-03-16 22:53:23
【问题描述】:

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

【问题讨论】:

标签: assembly arm 32-bit keil jump-table


【解决方案1】:

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

【讨论】:

  • 确实如此。规范的助记符是 CS(进位集),但 HS 是公认的同义词(LO 也是 CC)。
【解决方案2】:

这与半字或有符号无关。如果您感到困惑,而不是猜测,ARM info center 始终是一个很好的起点。无论如何,要回答您的问题,此命令或助记符的作用是在 CSPR (Current Program Status Register) 中查找,并从其中存储的值中删除。现在这可能是像cmp r0, r1 这样的早期调用的结果。假设是这种情况,并且在调用代码movhs 之前调用了cmp r0, r1。现在,cmp 调用的状态存储在 CPSR 中,当像movhs 一样添加hscs 等条件时,这意味着该语句将只如果 CPSR 中的结果更高或相同,则执行,即在伪代码中,if (r1 >= r0){execute the mov command}

【讨论】:

    猜你喜欢
    • 2015-05-15
    • 1970-01-01
    • 2011-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    相关资源
    最近更新 更多