首页 > 编程知识 正文

西门子cmp指令怎么用,arm汇编指令

时间:2023-05-04 21:46:18 阅读:51864 作者:481

我先抱怨一下。 ……看到书的这个说明时,我完全无语了。 这样理解CMP命令对c进位的影响,很痛苦。

也就是说,在执行CMP A、b之后,如果A=B,则由于不产生借位,所以borrowfrom(r0-shifter_operand )=0,因此C Flag=1,即c进位位置被设定为1 如果有借位,则c进位为零。

但是,如果真的这样写的话,也不能说真的会变成这样。 为了证明这个结论,特意写了手续检查:

如可以看到的,虽然是R1 R0,但是在执行CMP R1之后在R0之后发现了c进位位置1 (参见左侧的cpsr寄存器)。 所以,书中应该说的话是没错的。

我想在这里提到那个ARM指令的条件代码。 (也是让我无语的地方。 那个助记符号的名字比x86的汇编指令难记多了。 )

这里,助记符CS/HS意识到无符号的数量为/以上,意味着C=1,在执行CMP A之后,如果b指令的结果为A=B,则满足“无符号的数量以上”的条件,所以满足CS/HS的条件同时A=B,所以C=1。 这样,书上写的应该就明白了。

根据以上情况,得出了以下结论。

执行CMP A、b; 如果A=B,则c站点1同时满足所谓的CS/HS条件(无符号数为/以上) ) ) ) ) ) ) ) )。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。