我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 置位 >

ARM 指令的条件域的这个置位是什么意思。。[31:28]依次不是NZCV

归档日期:07-26       文本归类:置位      文章编辑:爱尚语录

  ARM 指令的条件域的这个置位是什么意思。。[31:28]依次不是NZCV么,那Z置位不应该是01

  ARM 指令的条件域的这个置位是什么意思。。[31:28]依次不是NZCV么,那Z置位不应该是01

  ARM指令的条件域的这个置位是什么意思。。[31:28]依次不是NZCV么,那Z置位不应该是0100吗怎么是0000。。自学不太懂。。...

  ARM 指令的条件域的这个置位是什么意思。。[31:28]依次不是NZCV么,那Z置位不应该是0100吗怎么是0000。。自学不太懂。。

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  CPSR,是用来记录程序运行过程中的程序状态,你说的[31:28]=NZCV指的是CPSR中的位定义,表示程序运行中是否产生负值、零、进位和溢出等结果,如若产生,则会自动将CPSR中对应位置位;

  注意,也就是说ARM指令的31~28和CPSR的31~28没有啥关系的,但是这个指令执行的时候想要加入条件,比如EQ、NE、CS等,这些条件分别对应的cond码是0000,0001,0010,你图中的数据就是对应这些码。而这些条件的成立与否又是与ZCNV这几个CPSR中的位直接相关的,因此可以说CPSR中的Z置位时,即NZCV=0100时,cond为0000的指令便可以执行,若C置位,即NZCV=0010时,cond为0010的指令便可以执行。追答不是先执行条件码,具体的流程是这样的:

  程序,也就是说所有的指令集合,是在运行之前你就编写好的,比如每个指令的cond,是在运行前就确定了。而NZCV这些位是在CPU执行程序时动态更新的,是由硬件自动完成的,然后你的程序根据这些标志位是否匹配当前指令的cond决定该指令是否执行。

本文链接:http://80musica.com/zhiwei/283.html