首页 > 其他分享 >10.6对栈进行push和pop

10.6对栈进行push和pop

时间:2023-02-07 20:13:39浏览次数:39  
标签:对栈 存储 操作数 pop 指令 push 数据

程序运行时,会在内存上申请分配一个称为栈的数据空间。栈stack)有“干草堆积如山”的意思。就如该名称所表示的那样,数据在存储时是从内存的下层(大的地址编号 )逐渐往上层(小的地址编号)累积,读出时则是按照从上往下的顺利进行(图 10-3 )的。

 

 

栈是存储临时数据的区域,它的特点是通过 push 指令和 pop 指令进行数据的存储和读出。往栈中存储数据称为“人栈”,从栈中读出数据称为“出栈”。32位x86系列的 CPU 中,进行1次 push 或 pop,即可处理 32位(4字节)的数据。

push 指令和 pop 指令中只有一个操作数。该操作数表示的是“push的是什么及 pop 的是什么”,而不需要指定“对哪一个地址编号的内存进行 push 或 pop”。这是因为,对栈进行读写的内存地址是由 esp 寄存器(栈指针 )进行管理的。push 指令和 pop 指令运行后,esp 寄存器的值会自动进行更新( push 指令是 -4,pop 命令是 +4 ),因而程序员就没有必要指定内存地址了。

代码清单 10-2 中多次用到了 push 指令和 pop 指令。push 指令运行后,操作数中指定的值就会被自动 push 入栈,pop 指令运行后,最后存储在栈中的值就会被 pop 到指定的操作数中出栈。就如第 4 章中所介绍的那样,这种数据的存储顺序称为 LIFO(Last In First Out方式。

标签:对栈,存储,操作数,pop,指令,push,数据
From: https://www.cnblogs.com/z1218/p/17099645.html

相关文章

  • Mobpush 促进用户活跃
    拉新、留存、促活是App运营的关键指标,除了运营手段,我们从用户体验角度出发,用技术手段也可以促进App用户活跃。从用户体验方面来说,第一次登陆App可以用微信、微博等第......
  • Mobpush 促进用户活跃
    拉新、留存、促活是App运营的关键指标,除了运营手段,我们从用户体验角度出发,用技术手段也可以促进App用户活跃。从用户体验方面来说,第一次登陆App可以用微信、微博等第......
  • 使用popup.remove()仍然不能移除popup的原因
    今天遇到一个问题  添加完popup之后 想要移除popup,,然后使用popup.remove这个方法还是不管用,popup.remove()后还是会有一个空白的popup在页面上。博主高考语文不及格......
  • python基础:split、join、replace、remove、del、pop、index小记
    这里总结了平时写脚本时经常用到的一些基础方法,做个记录1、split()函数可以基于分隔符将字符串分割成由若干子串组成的列表str.split(str="",num=string.count(str))......
  • 本地文件push到git
    1.刚创建的本地文件,还未初始化,gitinit,会自动生成一个.git文件夹2.gitadd.将文件添加到缓存区3.gitcommit-m'commit的命名'4.创建新分支,直接将新分支的内容pus......
  • git推送时(push)shell脚本的行分隔符类型依然是CRLF,没有变成LF
    git的autocrlf设置会在push推的时候把CRLF变成LF,pull拉的时候会把LF变成CRLF(视系统而定),需要注意的一点就是git每次推不会作用于项目全部文件,只作用于检测到变更的文件 ......
  • Prometheus Pushgateway配置笔记
    前言pushgateway的安装不再赘述,通用的操作最后以daemonlized方式运行。在Prometheus中给pushgateway上报的数据单独定义一个job:需要注意的点:pushgateway本身没有任何......
  • github与jenkins相结合实现push代码后自动部署
    首先在settings里面设置  jenkins-token记得设置勾选  至此github设置完成jenkins  credentials:选择私钥复制进去,github上放置公钥  将之前的gith......
  • git push大文件失败 - write error: Broken pipe
    通过查阅了一些资料,我发现是因为GitHub对提交的文件大小做了限制,GitHub会阻止超过100MB的推送(单文件),检查了一下我提交的文件中有一个超过200MB的文件。GitHub官方说明......
  • 邮件-原理(SMTP/POP3 或 SMTP/IMAP)
    什么是SMTP?SMTP基于TCP/IP。SMTP是电子邮件发送的行业标准协议。所以使用SMTP协议可以向SMTP服务器发送、中继或转发邮件。什么是SMTP服务器?SMTP服务器用于发送邮件......