我使用 Visual C++ 2010 将以下 C++ 代码转换为汇编代码:
int main()
{
int i;
i = 1234;
return 0;
}
我收到了以下输出:
根据我对内存寻址的理解,内存地址的计算总是放在方括号内,那么为什么在这种情况下 _i$
放在方括号外?
最佳答案
Microsoft 的汇编程序处理类似 a[b]
的方式与 C 或 C++ 处理a[b]
和 b[a]
的方式大致相同> 几乎是等价的。两者都表示添加和一些可选的缩放,然后是取消引用,但没有对哪部分是“地址”,哪部分是“索引”提出很多要求。
关于c++ - 为什么 Visual C++ 2010 使用此汇编语法进行内存寻址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673473/