****核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)


我们重新载入程序然后跳转到00401000地址


****核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)



这个地址反映的是是我们源代码中的,如图:

****核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)


我们回过头来看汇编:


****核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)


红线中的代码为局部变量开辟了8个字节的空间,用来存放X和Y。



我们继续往下走:


****核心原理学习笔记(十八):栈帧5:设置add()函数的局部变量(x,y)



EBP+8指向了a,EBP+C指向了b。


EBP-8指向了y,EBP-4指向了x。


win10系统中这个和win7是有差别的。