我认为它们都能达到相同的效果,但是mov将更容易阅读,因此,使用更频繁(而不是机器关心这个问题,对吗?)然而,在查看一些反汇编的代码时,我经常注意到add r-something, r-something, #0正在被使用。
这是有原因的,还是仅仅是编译器让那些希望阅读汇编代码的人的生活变得很艰难?
编辑:
我当时正在拆卸手臂大拇指。具体来说,它是movs r7, r1并添加了r7, r1, #0。之后不使用条件标志。两者的十六进制分别为000f和1c0f。我想我应该指定我说的是哪个指令集=x
发布于 2014-04-14 17:47:45
这在一定程度上取决于你说的是什么处理器。例如,在某些情况下,处理器中实际上没有MOV指令;汇编程序将其转换为您描述的Ad-0,因此当您拆卸时,您无法知道该指令是如何在原始程序集代码中指定的。
https://stackoverflow.com/questions/23066646
复制相似问题