好吧,我和一个朋友正在研究一个项目,然后我们遇到了一个近乎跳跃的事情,接着是一个n .. ....有什么理由在打电话后立即休息一下吗?
nop是代码的末尾,是否会让处理器空闲?
答案 0 :(得分:3)
它实际上是一个被编码为近跳的短跳吗?
如果是这样,短跳转(3个字节)将填入第三个字节。如果在编码时,汇编器知道短跳的跳转位置实际上是近跳,它会将其编码为近跳。但是已经为短跳转保留了3个字节,它需要用NOP填充。
答案 1 :(得分:2)
根据汇编程序体系结构的不同,它可以用于对齐以下函数的地址,也可以防止下一条指令运行(我相信MIPS会这样做)。在有用于本地内存池(ARM)的函数之后,您有时也会看到一个nop和一堆随机数据。