这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 活动中心 » 板卡试用 » 【换取逻辑分析仪】ARM CortexM 系列处理器汇编指令执行条件梳理

共5条 1/1 1 跳转至

【换取逻辑分析仪】ARM CortexM 系列处理器汇编指令执行条件梳理

工程师
2024-11-01 22:45:35   被打赏 23 分(兑奖)     打赏

简介:

      工作中我们有时会查看反汇编代码,查看代码时经常会看到指令后面回带着EQ/NE,CS/HS,MI/PL 等后缀,这些后缀通常在跳转指令的后面,对应这些后缀的条件说明如下。  

image.png

image.png


这些跳转指令会根据执行指令时的NZCV状态寄存器的状态来作为条件判定的依据,对应的条件和NZCV状态位的关系上表已有对应关系。

这些跳转后缀的指令通常配合CMP,或者 带S 的指令更新APSR 的NZCV 标志来执行条件跳转。以下是CMP 和 带S条件更新的指令说明。

image.png


image.png

以下是带S指令的条件跳转。

image.png

其中16552 行加载数据16553计算更新NZCV标志,16554行判断条件为负数跳转跟if(!(flags & LEFT)) 代码也是吻合的。

image.png

以上16622 行回使用cmp 质量更新NZCV 标志,然后执行条件指令。

其他使用场景也是跟上述类似,先更新NZCV 标志,然后更具更新的状态执行条件跳转。





专家
2024-11-02 01:02:26     打赏
2楼

谢谢分享


专家
2024-11-02 06:45:57     打赏
3楼

看一下


专家
2024-11-11 21:59:44     打赏
4楼

了解单片机的汇编语言,对于理解程序、优化程序,很有帮助。


助工
2024-11-14 08:02:23     打赏
5楼

谢谢分享


共5条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]