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

WordPress七牛导致评论失效德州网站建设优化

WordPress七牛导致评论失效,德州网站建设优化,网页设计作业制作个人网站,短网址压缩文章目录 前言1. CPU提供的栈机制2. push指令3. 问题4. 问题的分析与解答5. pop指令结语 前言 📌 汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深…

在这里插入图片描述

文章目录

  • 前言
  • 1. CPU提供的栈机制
  • 2. push指令
  • 3. 问题
  • 4. 问题的分析与解答
  • 5. pop指令
  • 结语

前言

📌

汇编语言是很多相关课程(如数据结构、操作系统、微机原理)的重要基础。但仅仅从课程的角度出发就太片面了,其实学习汇编语言可以深入理解计算机底层工作原理,提升代码效率,尤其在嵌入式系统和性能优化方面有重要作用。此外,它在逆向工程和安全领域不可或缺,帮助分析软件运行机制并增强漏洞修复能力。

本专栏的汇编语言学习章节主要是依据王爽老师的《汇编语言》来写的,和书中一样为了使学习的过程容易展开,我们采用以8086CPU为中央处理器的PC机来进行学习。

1. CPU提供的栈机制

现今的CPU中都有栈的设计,8086CPU也不例外。8086CPU提供相关的指令来以栈的方式访问内存空间。这意味着,在基于8086CPU编程的时候,可以将一段内存当作栈来使用

8086CPU提供入和出栈指令,最基本的两个是PUSH(入栈)和POP(出栈)

比如,push ax 表示将寄存器ax中的数据送入栈中,pop ax 表示从栈顶取出数据送入 ax。

8086CPU的入栈和出栈操作都是以字为单位进行的。

举例说明:

下面举例说明,我们可以将10000H-1000FH这段内存当作栈来使用。下图描述了下面一段指令的执行过程。

在这里插入图片描述

注意,字型数据用两个单元存放,高地址单元存放高8位,低地址单元存放低8位

大家看到上图所描述的 push 和 pop指令的执行过程,是否有一些疑惑?

总结一下,大概是这两个问题。

  • 其一,我们将10000H-1000FH这段内存当作来使用,CPU执行push和pop令时,将对这段空间按照栈的后进先出的规则进行访问。但是,一个重要的问题是,CPU如何知道10000H-1000FH这段空间被当作栈来使用?
  • 其二,push ax等入栈指令执行时,要将寄存器中的内容放入当前栈顶单元的上方,成为新的栈顶元素;pop ax等指令执行时,要从栈顶单元中取出数据,送入寄存器中。显然,push、pop在执行的时候,必须知道哪个单元是栈顶单元,可是,如何知道呢?

这不禁让我们想起之前另外一个讨论过的问题,就是,CPU如何知道当前要执行的指令所在的位置?我们现在知道答案,那就是CS、IP中存放着当前指令的段地址和偏移地址。

现在的问题是:CPU如何知道栈顶的位置?显然,也应该有相应的寄存器来存放栈顶的地址,8086CPU中,有两个寄存器,段存器SS和寄存器SP,栈顶的段地址存放在SS中,偏移地址存放在SP中任意时刻,SS:SP指向栈顶元素。push指令和pop指令执行时,CPU从SS和SP中得到栈顶的地址。

2. push指令

现在,我们可以完整地描述push和pop指令的功能了,例如push ax。

push ax的执行,由以下两步完成。

(1)SP=SP-2,SS:SP指向当前栈顶前面的单元,以当前栈顶前面的单元为新的栈顶

(2)将ax中的内容送入 SS:SP指向的内存单元处,SS:SP 此时指向新栈顶。

下图描述了8086CPU 对 push 指令的执行过程。

在这里插入图片描述

从图中我们可以看出,8086CPU中,入栈时,栈顶从高地址向低地址方向增长。

3. 问题

如果将10000H-1000FH这段空间当作,初始状态栈是空的,此时,SS=1000H,SP=?

思考后看分析。

4. 问题的分析与解答

SP=0010H,如下图所示。

在这里插入图片描述

我们将10000H-1000FH这间当作栈段,SS=1000H,空间大小为16字节,最底部的字单元地址为1000:000E。任意时刻,SS:SP指向顶,当中只有一个元素的时候,SS=1000H,SP=000EH。

栈为空,就相当于中唯一的元素出栈,出后SP=SP+2,SP原来为000EH,加2后SP=10H,所以,当为空的时候,SS=1000H,SP=10H。

换一个角度看,任意时刻,SS:SP指向栈顶元素,当栈为空的时候,栈中没有元素,也就不存在栈顶元素,所以SS:SP只能指向栈的最底部单元下面的单元,该单元的偏移地址为栈最底部的字单元的偏移地址+2,栈最底部字单元的地址为1000:000E,所以栈空时,SP=0010H。

5. pop指令

接下来,我们描述pop指令的功能,例如pop ax。

pop ax的执行过程和 push ax 刚好相反,由以下两步完成。

(1)将SS:SP指向的内存单元处的数据送入ax中

(2)SP=SP+2,SS:SP指向当前栈顶下面的单元,以当前顶下面的单元为新的栈顶

下图描述了8086CPU对pop指令的执行过程。

在这里插入图片描述

注意

上图中,出栈后,SS:SP指向新的顶1000EH,pop操作前的顶元素1000CH处的2266H依然存在,但是,它已不在栈中。当再次执行push等入指令后SS:SP移至1000CH,并在里面写入新的数据,它将被覆盖。

结语

今天的分享到这里就结束啦!如果觉得文章还不错的话,可以三连支持一下。

也可以点点关注,避免以后找不到我哦!

Crossoads主页还有很多有趣的文章,欢迎小伙伴们前去点评,您的支持就是作者前进的动力!

在这里插入图片描述

http://www.yidumall.com/news/19821.html

相关文章:

  • 手机网站内容模块百度客户服务中心
  • 网站建设百度文库网站优化的方法有哪些
  • 怎么做淘宝联盟的推广网站电商网络推广
  • wordpress文件浏览插件英文seo外链发布工具
  • 深圳建设网站推荐国内搜索引擎排名第一的是
  • 政府网站集约化建设安全怎么创建网站的快捷方式
  • 建设银行信用卡被钓鱼网站找回今日头条
  • 网站运营工作是干什么的抖音推广渠道有哪些
  • 教做软件的网站android优化大师
  • 网站界面优化网站推广怎么优化
  • app开发的网站百度竞价排名
  • 阿里巴巴运营流程安徽seo顾问服务
  • 龙华网站优化如何学会推广和营销
  • 长沙有家具网站建设的吗网站制作的要点和步骤详解
  • 武汉市疫情最新情况seo搜索优化服务
  • 企业网站导航下拉菜单怎么做重要新闻今天8条新闻
  • 郑州网站建设亻汉狮网络谷歌排名推广公司
  • ui页面设计图seo站长助手
  • 做特价网站热门网站排名
  • 嘉峪关建设局公告网站网站流量
  • 做网站需求文档深圳全网推广效果如何
  • 做网站 报价网络营销成功案例介绍
  • 北京通州网站建设网络营销大师排行榜
  • 做网站很忙吗搜索推广公司
  • wordpress首饰主题seo优化的搜索排名影响因素主要有
  • wordpress内存慢慢身高徐州seo网站推广
  • 张店政府网站建设公司网络设计
  • 坑梓网站建设包括哪些优化大师怎么下载
  • 有什么兼职做设计的网站好济南seo顾问
  • 模板网站建设的弊端网站竞价推广都有哪些