我正在实现二进制转换,并且必须处理长度约为16个操作码的NOP序列(0x90).在这样的序列开始时将JMP放到最后(性能)是否更好?
我正在尝试理解x64编译器完成的程序集优化.
我在Windows 8.1上Release使用Visual Studio 2008 SP1IDE 编译了一个小型C++项目.
其中一行包含以下汇编代码:
B8 31 00 00 00 mov eax,31h
0F 1F 44 00 00 nop dword ptr [rax+rax]
Run Code Online (Sandbox Code Playgroud)
这是一个截图:
据我所知nop本身是do nothing,但我从来没有用那种操作见过它.
有人可以解释它是做什么的吗?