首先,请问大家几个小小问题,你清楚:
今天,我们来一起探索并回答这些问题。为了便于大家理解,以下是本文的主题大纲:
CLZ指令
在ARMV5及以上的版本,存在一条特殊的指令CLZ,该指令则用于计算操作数最高端0的个数。主要应用场景如下所示:
CLZ指令格式与实例展示如下:
值得注意的是CLZ指令是从高位(31bit)向低位(0bit)进行统计寄存器中为0的个数,直至遇到第一个1停止统计。特殊地,如果操作数的bit[31]为1,则指令返回0,如果操作数为0,则指令返回32。
ARM中存在两条经典指令用于实现状态寄存器和通用寄存器之间传送数据。
不过关于状态寄存器,这里需要注意以下节点:
MRS指令
MRS指令主要用于将状态寄存器的内容传送到通用寄存器中。
MRS指令格式与实例展示如下所示:
MRS指令主要的使用场景如下:
MSR指令
MSR指令则是用于将通用寄存器的内容或一个立即数传送至状态寄存器中。
MSR指令格式与实例展示如下所示:
更多精彩内容,敬请关注公号“ADAS与ECU之吾见”!
下一篇:Spring中Bean的生命周期