先要熟悉一些汇编的基本知识:

1.SP是什么?

SP是堆栈寄存器,在调用子程序时,都会用到,保存原来程序的环境使用,如各个寄存器的内容,最重要的是,调用返回时程序的运行指令地址,这是由调用时将返回地址压入堆栈,返回时取出并传给PC寄存器来实现的。给SP的初始化值的大小,显示了堆栈的存放位置和堆栈的大小,如果堆栈太小,会出现堆栈溢出的问题。(其内容为栈顶的偏移地址。)
2.PC是什么寄存器?
PC是16位程序计数器(Program Counter),它不属于特殊功能寄存器范畴,程序员不以像访问特殊功能寄存器那样来访问PC。PC是专门用于在CPU取指令期间寻址程序存储器。PC总是保存着下一条要执行的指令的16位地址。通常程序是顺序执行的,在一般情况下,当取出一个指令(更确切地说为一个指令字节)字节后,PC自动加1。如果在执行转移指令、子程序调用/返回指令或中断时,要把转向的地址赋给PC。



引用的汇编代码跟上面一模一样:

int  x = 17;
int y= x;
int z = &y;

下面图阴影部分,就是
int *z = &y;
X  
Y  
Z////////////////////////////////////////////// 指向Y这个地址

												

最新文章

  1. Redis学习手册(目录)
  2. 谁让APP工程师产生了泡沫?
  3. Mac Pro 安装 Homebrew 软件包管理工具
  4. DataBase 之 表操作
  5. js点击弹出div层
  6. 04 - 替换vtkDataObject中的GetPipelineInformation 和GetExecutive 方法 VTK 6.0 迁移
  7. OpenGL ES 2.0 卷绕和背面剪裁
  8. py执行系统命令
  9. Javascript 查找元素
  10. jvm 线程实现机制
  11. Leetcode 494 Target Sum 动态规划 背包+滚动数据
  12. pyqt5 在qt designer后以弹窗的方式连接多个UI图形界面
  13. Nomad入门
  14. eclipse中不能保存汉字的解决方法
  15. JSON CSRF新姿势
  16. 将VSCode设置成中文语言环境
  17. 关于instanceof判断的条件
  18. Hadoop系列之(二):Hadoop集群部署
  19. css 如何使图片与文字在div中居中展示?
  20. 24.2 网络编程基础——System.Net 命名空间

热门文章

  1. springMVC 注解版
  2. c语言数组小练习
  3. vs2013+EF6+Mysql
  4. 关于css样式line-height的应用
  5. MVC项目发布IIS访问不了
  6. Java system.getproperty获取环境属性
  7. POJ2739 Sum of Consecutive Prime Numbers(尺取法)
  8. PHPexcel:多sheet上传和下载
  9. 自定义 select 下拉菜单
  10. 使用OC和swift创建系统自带的刷新界面