x64汇编中.data段变量顺序与rsp寄存器最终值疑问
汇编rsp寄存器结果推导
前置条件
给定汇编代码运行环境中,.data段向高地址方向增长,运行后内存排布如下:
- - - - - - - - (var3 here and up) - - - - (var2 here and up) - - - - (var1 here and up)
核心规则
汇编变量取值规则:不带$前缀的标签或变量取其内存中存储的数据值,带$前缀则取其对应的内存地址。
推导过程
- 第一行指令取var3对应内存中的值存入寄存器,var3的初始值为var2的值减1
- 第二行指令对寄存器中存储的数值加6,最终运算结果为5,即为rsp寄存器最终存储的内容。
内容的提问来源于stack exchange,提问作者Dan
相关产品推荐
相关产品推荐

