汇编原理(二)寄存器——内存访问

一个字 = 两个字节

双字

字节为8位

字为16位(看两格)

双子dword32位(看四格)

内存中字的存储:

        0地址单元中存放的字节型数据是多少?

        0地址字单元中存放的字型数据是多少?

        2地址字单元中存放的字节型数据是多少?

        2地址单元中存放的字型数据是多少(0012。字型要考虑两个字节)

        1地址字单元中存放的字型数据是多少(124E)(单元和字单元有什么区别?

        任何两个地址连续的内存单元,N号单元和N+1号单元,可以将他们看成两个内存单元,也可以看成一个地址为N的字节单元中的高位字节单元和低位字节单元

DS和 [ address ]:回过头来看,这两个玩意一定是成对出现的,才能唯一确定一个物理地址

        DS(data)寄存器用来存放要访问的数据的段地址

        mov功能:1.(1)将数据直接送入寄存器(2)将一个寄存器中的内容送入另一个寄存器。                                      除此之外,mov还可以将一个内存单元中的内容送入一个寄存器

        对上面指令的解释:

                1.先说明:[ ... ]中存放偏移地址,DS中存放段地址

                2.10000H表示1000:0(段地址:偏移地址)(为什么能唯一确定只能是这个比值?

                3.将段地址1000H放入ds

                4.用mov al,[0]完成传送( [  ] 中只用说明偏移地址,段地址默认放在ds中)

        那能否直接mov ds, 1000H?这样写指令合法吗?

                不行,不能将数据直接送入段寄存去,数据只能送入通用寄存器(硬件设计问题)

                数据 -> 通用寄存器 -> 段寄存器 (间接)

        这样就完成了将内存单元中的数据送入寄存器。

  那如何将数据送入内存单元?
             

                放到一起对比一下

        

        有例题:配置好环境后需要自己实现

mov、add、sub指令:

        推测:mov 寄存器,段寄存器 也是正确的

        add和sub同理:

数据段:         

        在内存和寄存器之间传送字型数据时,高地址单元和高8位寄存器、低地址单元和低8位寄存器相对应

栈(Fist In Last Out):

push和pop:入栈和出栈都是以字为单位

        push ax : 将寄存器ax中的数据送入栈中;

        pop ax : 从栈顶取出数据送入ax

cpu怎么知道一段内存空间被当作栈使用?如何知道那个单元时栈顶?

        第一个问题:

                有两个寄存器:S(stack)S(段寄存器:记录栈顶段地址)和SP(记录栈顶偏移地址)

                SS:SP就指向栈顶单元        

                任何一个时刻SS:SP指向栈顶(容易搞混)

        第二个问题:

                push ax.      该指令发生后,会(自动)进行SP = SP - 2;所以SS:SP将会指向新的栈顶

push的过程:

pop的过程:

        pop之后只会使SS:SP移动,但内存单元中的数据不会删除,下次在push会对它进行覆盖(删不干净)

                       

栈顶越界的问题:(溢出攻击)

栈和内存:栈就是内存空间的一部分

push和pop指令:

         比如段地址现在指向1000,那就将这个16进制数放入SS:SP所指向的位置      

        栈操作都是以字为单位

  

模拟函数调用过程:

注意因为bx后入栈,所以一定要先出栈 ,对顺序是有要求的

交换两数的值:

                对pop ax理解应该是:弹出最后一个值,将其赋值给ax

        执行push和pop指令与mov指令不同,mov执行传送指令只需要一步操作,而执行push和pop指令却需要两部操作:执行push时:先改变SP,后向SS:SP处传送;执行pop时,先读取SS:SP处的数据,后改变SP。

栈段:

一个栈段最大可以设为多少?2的16次方

         对于数据段,将段地址放在DS中,对于代码段,段地址放在CS中,对于栈段,将段地址放在SS中

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

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

相关文章

Secure Operation

文章目录 Secure Summation OperationSecure Set Union Operation Secure Summation Operation 让我们通过一个具体的例子来说明这个算法。 假设有三个数据拥有者 S1, S2 和 S3,他们分别持有以下值: S1 持有 value1 10S2 持有 value2 20S3 持有 val…

基坑气膜:建筑工地环保新利器—轻空间

随着城市化进程的加快,建筑行业的飞速发展带来了严重的环境问题,如噪音和粉尘污染,给人们的生活带来诸多不便。为了解决这些问题,建筑行业一直在探索更为环保和高效的施工方式。近年来,基坑气膜技术逐渐崭露头角&#…

Audition 2024 for Mac/Win:音频录制与编辑的卓越之选

随着数字媒体的不断发展,音频内容创作已经成为各行各业中不可或缺的一部分。无论是音乐制作、广播节目、播客录制还是影视配音,都需要高品质的音频录制和编辑工具来实现专业水准的作品。在这个充满竞争的时代,要想在音频创作领域脱颖而出&…

解线性方程组——最速下降法及图形化表示 | 北太天元 or matlab

一、思路转变 A为对称正定矩阵, A x b Ax b Axb 求解向量 x x x这个问题可以转化为一个求 f ( x ) f(x) f(x)极小值点的问题,为什么可以这样: f ( x ) 1 2 x T A x − x T b c f(x) \frac{1}{2}x^TAx - x^Tb c f(x)21​xTAx−xTbc 可…

ZooKeeper安装

安装Zookeeper 1、下载Zookeeper安装包 打开链接选择一个版本进行下载 https://zookeeper.apache.org/releases.html2、上传Zookeeper安装包到集群 输入命令 scp apache-zookeeper-3.8.4-bin.tar.gz hadoop192.168.88.100:/tmp也可以使用xftp等上传,物理机用u盘…

《精通Stable Diffusion AI绘画:基础技巧、实战案例与海量资源一站式学习》

随着人工智能技术的迅猛发展,AI绘画已经成为了一个炙手可热的话题。特别是在设计、艺术和创意领域,AI绘画工具的出现无疑为创作者们带来了更多的可能性和便利。《Stable Diffusion AI绘画从提示词到模型出图》这本书,就是一本深入解析Stable …

恢复视频3个攻略:从不同情况下的恢复方法到实践!

随着科技的进步,我们的生活被各种各样的数字内容所包围,其中,视频因其独特的记录性质,承载着许多重要的资料。但不管是自媒体人还是普通人日常生活随手一拍,都会遇到误删视频的情况。为了帮助您找回手机视频&#xff0…

从零学爬虫:使用比如说说解析网页结构

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言 二、网页结构概述 示例:查看网页结构 三、使用比如说说解析网页 1.…

windows10更改文件默认打开软件

📚博客主页:knighthood2001 ✨公众号:认知up吧 (目前正在带领大家一起提升认知,感兴趣可以来围观一下) 🎃知识星球:【认知up吧|成长|副业】介绍 ❤️感谢大家点赞👍&…

纽曼硬盘隐藏文件丢失怎么恢复?介绍几种有效的方法

纽曼硬盘作为存储设备中的佼佼者,以其高性能和稳定性受到了广大用户的青睐。然而,在使用过程中,有时我们可能会遇到一些意想不到的问题,比如隐藏文件的丢失。这对于依赖这些文件进行工作或生活的人来说无疑是一个巨大的困扰。那么…

旋转矩阵00

题目链接 旋转矩阵 题目描述 注意点 将图像旋转 90 度不占用额外内存空间 解答思路 需要找到将图像旋转90度的规律,为了不占用额外内存空间,可以先将图像上下翻转,然后再将图像沿着主对角线进行翻转,得到的就是旋转90度之后的…

pdf打开方式怎么设置默认?分享这几种设置方法

pdf打开方式怎么设置默认?你是否曾遇到过打开PDF文档时,默认的打开程序并非你所需要的,从而影响了工作效率?别担心,本文将为你详细解读如何设置PDF的默认打开方式,让你的工作更加高效便捷。 首先&#xff0…

OrangePi AIpro 开箱初体验及语音识别样例

OrangePi AIpro 开箱初体验及语音识别样例 一、 前言 首先非常感谢官方大大给予这次机会,让我有幸参加此次活动。 OrangePi AIpro联合华为精心打造,采用昇腾AI技术路线,具体为4核64位处理器AI处理器,集成图形处理器,…

2951. 找出峰值

找出数组中的峰值 给你一个下标从 0 开始的数组 mountain 。你的任务是找出数组 mountain 中的所有 峰值。 以数组形式返回给定数组中 峰值 的下标,顺序不限 。 注意 峰值 是指一个严格大于其相邻元素的元素。数组的第一个和最后一个元素 不 是峰值。 示例 1 …

汽车合面合壳密封UV胶固化后一般可以耐多少度的高温和低温? 汽车车灯的灯罩如果破损破裂破洞了要怎么修复?

汽车合面合壳密封UV胶固化后一般可以耐多少度的高温和低温? UV胶固化后的耐高温和低温能力取决于具体的UV胶水品牌和型号,以及固化过程中的条件。一般来说,高品质的UV胶水在固化后可以提供较好的耐温性能,但确切的耐温范围需要参考各个厂家提…

Mac 安装 PostgreSQL简易教程

Mac 安装 PostgreSQL简易教程 下载安装包 下载安装包 下载地址 我下载的文件:Postgres-2.7.3-16.dmg 双击 dmg 文件安装 拖拽图标到右边的文件,然后到应用程序中找到 Postgres.app 双击打开。 然后点击 Initialize 按钮 配置$PATH 到命令下工具&#…

虚拟化技术 分布式资源调度

一、实验内容 实现分布式资源调度 二、实验主要仪器设备及材料 安装有64位Windows操作系统的台式电脑或笔记本电脑,建议4C8G或以上配置已安装VMware Workstation Pro已安装Windows Server 2008 R2 x64已安装vCenter Server 三、实验步骤 将主机esxi1和esxi2加入…

深圳比创达EMC|EMI电磁干扰行业:行业发展的关键与挑战

在当今的高科技时代,电子产品无处不在,它们为我们的生活带来了极大的便利。然而,随着电子设备的普及和集成度的提高,电磁干扰(EMI)问题也日益凸显。 一、EMI电磁干扰行业:无处不在的挑战 电磁…

go语言方法之方法声明

从我们的理解来讲,一个对象其实也就是一个简单的赋值或者一个变量,在这个对象中会包含一些方法,而一个方法则是一个一个和特殊类型关联的函数。一个面向对象的程序会用方法来表达其属性和对应的操作,这样使用这个对象的用户就不需…

AI大模型在测试中的深度应用与实践案例

文章目录 1. 示例项目背景2. 环境准备3. 代码实现3.1. 自动生成测试用例3.2. 自动化测试脚本3.3. 性能测试3.4. 结果分析 4. 进一步深入4.1. 集成CI/CD管道4.1.1 Jenkins示例 4.2. 详细的负载测试和性能监控4.2.1 Locust示例 4.3. 测试结果分析与报告 5. 进一步集成和优化5.1. …