3.3 ss-sp寄存器,栈的push和pop指令

汇编语言

1. 栈

  • 栈是一种具有特殊的访问方式的存储空间
  • 它的特殊性就在于,最后进入这个空间的数据,最先出去。即先进后出

1.1 栈的基本操作

  • 入栈:入栈就是将一个新的元素放到栈顶
  • 出栈:出栈就是从栈顶取出一个元素
  • 栈顶的元素总是最后入栈,需要出栈时又最先被从栈中取出
  • LIFO(Last In First Out),后进先出

2. CPU提供的栈机制

  • push(入栈)和pop(出栈)

在这里插入图片描述

  • 大数据即高位在栈下面,小数据即地位在栈上面
  • 任意时刻,ss:sp指向栈顶元素

在这里插入图片描述

//使ss:sp初始指向1000:0010即10000h
mount c d:masm
c:
debug
r
mov ax,0123		//ax = 0123h
push ax		//把ax的数据压入栈中,大数据01在下面,小数据23在上面,此时ss:sp 指向1000EH
mov bx,2266		//bx = 2266
push bx		//把bx的数据压入栈中,大数据22在下面,小数据66在上面,此时ss:sp 指向1000CH
mov cx,1122		//cx = 1122
push cx		//同上面两步,此时ss:sp指向1000AH,即push指令时,sp = sp - 2
pop ax		//把栈顶的元素弹出并且赋值给ax,此时ax = 1122h,ss:sp指向1000CH
pop bx		//同上,此时bx = 2266h,ss:sp指向1000EH
pop cx		//此时cx = 0123h,ss:sp指向10010h。即pop指令时,sp = sp + 2r ss		//让ss:sp指向栈顶元素
1000
r sp
0010

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3. 栈顶超界问题

  • 当栈满的时候再使用push指令入栈,或栈空的时候再使用pop指令出栈,都将发送栈顶超界问题
  • 栈顶超界是危险的
  • 我们自己要操心栈顶超界的问题,要根据可能用到的最大栈空间,来安排栈的大小,防止入栈的数据太多而导致的超界
  • 执行出栈操作的时候也要注意,以防栈空的时候继续出栈而导致的超界

4. push和pop也可以对内存进行操作

  • push和pop指令是可以在寄存器和内存之间传送数据的
mov ax,1000
mov ds,ax		//内存单元的段地址要放在ds中
push [0]		//将1000:0处的字压入栈中
pop [2]			//出栈,出栈的数据送入1000:2处

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

指令执行时,CPU要知道内存单元的地址,可以在push、pop指令中只给出内存单元的偏移地址,段地址在指令执行时,CPU从ds中取得

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/747389.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker简单认识

目录 一、Docker概述 二、容器技术 2.1 容器与虚拟机的比较 2.2 容器和应用程序的比较 三、Docker和容器的关系 四、Docker和操作系统 五、总结 一、Docker概述 Docker 是一个开源的平台,用于开发、运送和运行应用程序。通过使应用程序与底层系统隔离&#x…

第2章 信息技术基础

本章学习要点 全面了解医院信息系统建设所涉及的主要信息技术以及这些技术的应用情况。 计算机与网络、信息技术与信息系统、数字媒体与数据存储技术、条形码(二维码)、RFID技术、云计算、APP技术 1.XML 可扩展标记语言与Access,Oracle和SQL Server等数据库不同…

【机器学习-01】机器学习基本概念与建模流程

机器学习的过程本质上是一个不断通过数据训练来提升模型在对应评估指标上表现的过程。在此过程中,为模型提供有效的反馈并基于这些反馈进行持续的调整是至关重要的。只有当这个过程顺利进行时,模型才能得到有效的训练,机器才能真正实现学习。…

修改vscode中代码的注释颜色

打开C盘、进入user目录,然后依次打开以下图片中的文件夹,在指定的文件中进行修改。 1. 2. 3. 4. 5. 6.

2049.不容易系列之(4)——考新郎

2048的升级 当nm时则全排错,与上题一样 当n>m时,则有n-m个是排对的,剩下m个全错 import java.util.*;public class Main {public static void main(String[] args) {Scanner scannernew Scanner(System.in);int num scanner.nextInt()…

解决ubuntu 22.04新内核6.5.0-15无法编译NVIDIA显卡驱动

这里的新内核应该包括6.5.*系列的 文章目录 遇到的问题: 遇到的问题: 今天我在安装NVIDIA显卡驱动发现了一个问题,主要日志如下所示: make[3]: *** [scripts/Makefile.build:251: /tmp/selfgz1310041/NVIDIA-Linux-x86_64-550.5…

昂贵的日用品和廉价的奢侈品

不同消费支出的心理账户之间具有非替代性 不同的消费支出分置在不同的心理账户中,不同消费心理账户的开支会受到所在账户预算约束的影响。 心理账户的预算控制机制 人们在分配总预算时,会将预算分门别类地分配到具体的心理账户中去。对于所有超过心理账…

Python+requests+excel 接口自动化测试框架

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、接口自动化测试框架 二、工程目录 三、Excel测试用例设计 四、基础数据base 封装post/get&a…

centos7磁盘管理,lvm挂载、扩容

一、centos7 磁盘挂载 默认盘符格式 centos7 默认文件格式xfscentos6 默认文件格式ext4centos5 默认文件格式ext3 1、/dev/vdb和/dev/mapper/lvm-data对比 1)/dev/vdb /dev/vdb通常表示一个裸的块存储设备,比如一个硬盘或者虚拟机中的一个虚拟硬盘。…

【图像分类】基于深度学习的人脸表情识别(开心、悲伤、生气三个类别,ResNet网络)

写在前面: 首先感谢兄弟们的关注和订阅,让我有创作的动力,在创作过程我会尽最大能力,保证作品的质量,如果有问题,可以私信我,让我们携手共进,共创辉煌。(专栏订阅用户订阅专栏后免费提供数据集和源码一份,超级VIP用户不在服务范围之内,不想订阅专栏的兄弟们可以私信…

Uni-app跟学笔记(五):uni-ui组件库的使用、项目打包(小程序、h5、APP)

文章目录 1)uni-ui组件库的使用2)项目打包1:微信小程序打包2:h5打包3:安卓打包 本博客为 uni-app 此门课的跟学笔记,目的是便于个人复习和对知识快速索引,源码素材可在均可在视频评论区找到 1&a…

C语言函数—递归理解和练习

练习: 编写函数不允许创建临时变量,求字符串的长度。 我们看到这道题,第一个想到的是不是strlen int main() {char[] "bit";//[b][i][t][\0]//里面一共4个字符(包括结尾的、0)但是我们的strlen函数并不会计…

使用USART2收发数据时,接收数据正常,但数据发不出去

今天使用串口2与上位机通信,发现问题: 单片机接收上位机的数据正常,但发送数据给上位机时,却总是失败。 为了排除程序的干扰,我构造了一个数组,循环发送这串数据: void UartSend(uint8_t *pS…

微服务学习day02 -- nacos配置管理 -- Feign远程调用 -- Gateway服务网关

0.学习目标 1.Nacos配置管理 Nacos除了可以做注册中心,同样可以做配置管理来使用。 1.1.统一配置管理 当微服务部署的实例越来越多,达到数十、数百时,逐个修改微服务配置就会让人抓狂,而且很容易出错。我们需要一种统一配置管理…

网络安全之URL过滤

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系! URL过滤是一种针对用户的URL请求进行上网控制的技术,通过允许或禁止用户访问某些网页资源,达到规范上网行为和降低安全风险…

elasticsearch篇:DSL查询语法

1.DSL查询文档 众所周知,elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1. DSL查询分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出…

Sublime Text简介、下载、安装、汉化、常用插件和激活——《跟老吕学Python编程》附录资料

Sublime Text简介、下载、安装、汉化、常用插件和激活——《跟老吕学Python编程》附录资料 Sublime Text 简介Sublime Text 下载、安装、汉化、常用插件和激活Sublime Text 官网Sublime Text 下载Sublime Text 安装1.安装2.右键菜单3.启动安装4.耐心等待5.安装完成 Sublime Tex…

计算机网络 谢希仁(001-2)

计算机网络-方老师 总时长 24:45:00 共50个视频,6个模块 此文章包含1.5到1.7的内容 1.5计算机网络类别 连通 共享 分类方法 广域网是边缘部分和核心部分的核心部分 以前是拨号连接 现在是光纤 总线型 星型 环形网 1.6计算机网络的性能 带上单位之后就不是…

蓝桥杯历年真题省赛java b组2016年第七届

一、题目 取球博弈 两个人玩取球的游戏。 一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。 如果无法继续取球,则游戏结束。 此时,持有奇数个球的一方获胜。 如果两人都是奇数,则为平局。 假设双…

专业款希亦、小米、必胜、云鲸洗地机怎么样?深度测评利弊

洗地机可以说是一种非常实用的清洁工具,尤其是对于那些需要经常给家里地板清洁的人来说。它能够高效、彻底清洁地板,去除顽固污渍、灰尘和细菌,让家居环境更加洁净卫生。可是面对型号繁多的洗地机,我们应该怎么挑选呢?…