当前位置: 首页 > news >正文

广州城市建设规划局网站wordpress editor.md

广州城市建设规划局网站,wordpress editor.md,烟台 做网站的公司,网站开发用什么编程语言bp与sp(压栈和弹栈) 在计算机内部的寄存器组中,有一对寄存器非常有意思:%ebp,%esp 文章目录 bp与sp(压栈和弹栈)寄存器组示例图%ebp与%esp总结 寄存器组示例图 首先我们应该对于计算机中的寄存…

bp与sp(压栈和弹栈)

在计算机内部的寄存器组中,有一对寄存器非常有意思:%ebp,%esp


文章目录

  • bp与sp(压栈和弹栈)
  • 寄存器组示例图
  • %ebp与%esp
  • 总结


寄存器组示例图

首先我们应该对于计算机中的寄存器组有一个逻辑的认知:
以X86_64为例对其中的通用寄存器组做出了逻辑图示如下链接:
X86_64寄存器组图示


%ebp与%esp

这个寄存器叫做堆栈基址寄存器,被调用者保存,而其保存的内容则是调用者的栈底。

比如下方的一段代码

#include<stdio.h>void A(int n){printf("n=%d\n",&n);
}void B(){int a=1;A(a);
}int main()
{B();
}

对于上述代码执行时的栈:
首先忽略系统区,main函数在栈底,然后在main函数中把B函数入栈,由于B中调用了A,在B之后又将A入栈。其中%ebx,就始终指向一个函数的栈区的底部。而%esp则始终指向函数栈区的顶部,这里简称为栈顶。

指令效果描述
pushq SR[%rsp]<-R[%rsp]-8
M[R[%rsp]]<-S
将四字压入栈
popq DD<-M[R[%rsp]]
R[%rsp]<-R[%rsp]+8
将四字弹出栈

总结

总之这块很简单,只需记住
压栈先挪出空间(sp减去某个值),再填数据
弹栈先保存要弹出的数据,再释放空间(sp加上某个值)
值得注意的是,弹栈后原数据还在,只是不再被栈顶指针所指,而是等待着下一次数据的覆盖

http://www.yayakq.cn/news/323268/

相关文章:

  • 免费制作相册十堰优化网站哪家好
  • 淄博企业高端网站建设易语言对做网站有什么帮助
  • 招标网站哪个比较好岳阳网站岳阳建站
  • 做网站有用nodejs企业网站建设开发
  • 赣州住房与城乡建设厅网站wordpress如何加html代码
  • 网站建设的售后服务流程外贸英语学习网站
  • 社交网站有哪些如何做淘宝客的网站怎么做
  • 一号网站建设个人接装修活
  • 做网站的公司倒闭了新手学做网站推荐软件
  • 网站搭建服务器需要什么做网站用什么电脑
  • 开发一个网页系统需要多少钱网站搜索优化公司
  • 商城开发网站开发网站分析百度
  • 现在网络公司做网站是用cms还是新版编程_建设通官网首页
  • 长尾关键词在网站优化中起的作用有哪些建设淘宝客网站
  • 宣传京津风筝网站的建设目的室内设计师优秀简介
  • 网站开发九大优势合浦网站建设
  • 网站动态标签网站建设课设心得
  • 做培训的网站搜索量排名
  • 网站后台不能粘贴建筑服务类网站
  • 石嘴山网站seo网站活动推广方案
  • 赶集网站建设多少钱学习网页制作的网站
  • 电子类网站建设需要多少钱鹰潭建设网站
  • 外贸开发产品网站模板百度app常用网址在哪里
  • 阿里巴巴网站开发是谁购物网站开发教程 视频
  • 网站修改后怎么上传wordpress文章页面添加打赏
  • 清溪网站建设公司数据分析师报考条件
  • 网站设计与制作是做什么工作网站建设的图片怎么加水印
  • 建筑网站编辑工作内容注册安全工程师报考条件及时间
  • 电子商务网站建设商城网站东莞机械网络推广
  • 设计模板免费网站网络营销策划书的结构