use*_*783 1 compiler-construction x86 assembly x86-64
我想知道以下情况
mov eax, [ebx+4]
Run Code Online (Sandbox Code Playgroud)
相当于
add ebx, 4
mov eax, [ebx]
Run Code Online (Sandbox Code Playgroud)
除了可读性和代码样式问题之外,是否有性能改进或者为什么第一个优先于后者?
虽然"等效",也存在以下有几个原因,喜欢的区别mov eax,[ebx+4]在add, mov:
ebx+4由CPU中的地址计算逻辑"免费"执行