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

10.6 对栈进行push和pop

时间:2023-02-14 22:11:41浏览次数:37  
标签:对栈 存储 pop 指令 push 数据

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

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

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

标签:对栈,存储,pop,指令,push,数据
From: https://www.cnblogs.com/ttmeng/p/17121024.html

相关文章

  • 10.6对栈进行push和pop
       数据在存储时是从内存的下层(大的地址编号)逐渐往上层(小的地址编号)累积,读出时则是按照从上往下的顺序进行(图10-3)的。     栈是存储临时数据的区域,它的特......
  • QPushButton与Enter相链接
    ui->pushButton_login->setFocus();//设置默认焦点ui->pushButton_login->setShortcut(QKeySequence::InsertParagraphSeparator);ui->pushButton_log......
  • MobPush 助力工具 APP 激活用户,留存率提升 31%
    近几年里,吸引用户注意力的争夺在内容资讯行业十分激烈。在此背景下,能吸引用户注意力,能够高效连接内容与用户的APP将发挥出更大的增长潜力。近期,某工具APP与MobTech携......
  • 转载:python subprocess.Popen系列问题
    pythonsubprocess.Popen系列问题_水军总督的博客-CSDN博客_pythonsubprocess.popen返回的pid跟ps看到的不一样 python中subprocess.Popen总结_唐僧洗头用飘柔dp的......
  • 关于pushdown函数
    pushdown函数在在线段树平衡树等数据结构中极为常见,由于本蒟蒻在刚开始学的时候没有理解其的奥妙,于是准备将曾经的疑惑讲出来,也算是弥补了。首先,pushdown通常用于修改,最......
  • cpp string split by delimeter and push back into vector
    voidutil::split_string_demo(){std::stringstr=get_uuid();std::stringdelimiter="-";std::vector<std::string>vec;split_string(str,delimit......
  • 性能分析 | MySQL Index Condition Pushdown(ICP)
    介绍概念介绍索引下推(IndexConditionPushdown,简称ICP),是MySQL5.6版本的新特性,ICP是针对MySQL使用索引从表中检索行的情况的优化方式关闭ICP,存储引擎会遍历索引以定位......
  • Pop!_os的使用体验
    为什么会选择Pop!_os刚决定使用Linux系统的时候想的肯定是用ArchLinux(不得不说ArchWiki太NB了),但是遇到两个麻烦没有解决:1.连上wifi后发现没有分配IPv4地址,google了一圈都......
  • git 怎么使用一个命令把本地修改push到多个remote上?
    参考这个答案:https://stackoverflow.com/questions/5785549/able-to-push-to-all-git-remotes-with-the-one-command可以再看看这个评论 Supercooltrick!Theonlydis......
  • window.onpopstate事件和history
    在支持H5的浏览器中,有一个window.onpopstate事件,该事件可以监听如下操作:点击浏览器的前进按钮/后退按钮执行js代码:history.go(n)/history.forward()/不同的浏......