说“CMP命令是最长的汇编命令”是否正确?

时间:2012-06-20 03:25:06

标签: assembly

与其他汇编语句(如JMP,CALL,MOV,PUSH(我的意思是更多可用命令)相比)说CMP需要更长时间才能运行吗?

1 个答案:

答案 0 :(得分:-1)

不,到目前为止,MOV可能需要花费最长时间才能运行,因为一般来说它必须通过内存来执行移动(比寄存器访问慢得多),并且可以阻塞。另一方面,CMP在实践中通常采用文字和寄存器作为参数,并且仅命中ALU。

CALL实际上是PUSH和JUMP所以是第二长的。哦,是的,如上所述,JMP可以刷新管道(虽然无条件跳转不会)。

底线CMP快速,快速,如INC,ADD或任何其他简单的数学计算,通常优化使用寄存器值和文字,并且除了命中ALU之外不做任何其他操作。