c++ - 为什么 Visual C++ 2010 使用此汇编语法进行内存寻址?

标签 c++ visual-studio-2010 assembly visual-c++ addressing-mode

我使用 Visual C++ 2010 将以下 C++ 代码转换为汇编代码:

int main()
{
    int i;
    i = 1234;

    return 0;
}

我收到了以下输出:

enter image description here

根据我对内存寻址的理解,内存地址的计算总是放在方括号内,那么为什么在这种情况下 _i$ 放在方括号外?

最佳答案

Microsoft 的汇编程序处理类似 a[b] 的方式与 C 或 C++ 处理a[b]b[a] 的方式大致相同> 几乎是等价的。两者都表示添加和一些可选的缩放,然后是取消引用,但没有对哪部分是“地址”,哪部分是“索引”提出很多要求。

关于c++ - 为什么 Visual C++ 2010 使用此汇编语法进行内存寻址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27673473/

相关文章:

assembly - 读取 ARM 汇编中的系统调用

assembly - 添加 float 组

.net - 如何查看 JIT 生成的代码

Eclipse Mars+MinGW 中的 C++ 调试器 "gdb.exe --version"错误

c++ - boost::unordered_multimap 是否调整大小

css - CSS 中的区域类似于 C# 区域?

c++ - 在 Visual Studio 的解决方案资源管理器中组织项目文件

c++ - 仅在第二次访问链表中的结构后出现段错误

c++ - 有没有办法编写一个循环来遍历 char* 数组中的每个字符?

visual-studio-2010 - TFS 状态更改日期不起作用