小编use*_*712的帖子

ARM 中的 CMP 和 TST 指令有什么区别?

我无法理解 ARM 中这两条指令之间的区别。据我了解,

CMP R1, R2
Run Code Online (Sandbox Code Playgroud)

将执行操作 R1-R2,但不存储结果。然后它会在状态寄存器中设置标志,例如 N(负,如果 R1

我不明白的是 TST 的做法有所不同。在我的笔记中,它说 TST 不会改变其操作数的值......但我认为 CMP 也没有。这两个指令有何不同?

怎么

CMP R1, R2
Run Code Online (Sandbox Code Playgroud)

不同于

TST R1, R2
Run Code Online (Sandbox Code Playgroud)

? 在此先感谢您的帮助!

assembly arm

2
推荐指数
1
解决办法
7747
查看次数

标签 统计

arm ×1

assembly ×1