首页 > 解决方案 > 如何在 ARMv7 Thumb-2 程序集中读取条件标志?

问题描述

我正在使用带有 Thumb-2 指令的 ARMv7 处理器。

我已经执行了ADD,SUBCMP. 现在我想将条件标志移动LEr2. 在此之后,r2应包含01

我一直在查看 Thumb-2 手册,但没有找到条件 MOV 指令或读取标志的特殊指令。

最有效的方法是什么?提前致谢!

标签: assemblyarmembeddedarmv7thumb

解决方案


您需要使用ite(if-then-else) 指令开始一个条件块,然后只使用条件赋值:

ite le        @ if-then-else (le)
movle r2, #1  @ if (le) then r2 = #1
movgt r2, #0  @         else r2 = #0

通常,如果您在 Thumb-2 中使用适当的 IT 指令作为前缀,则可以使用任意条件指令。阅读手册了解详情。


推荐阅读