汇编-基础处理器

汇编语言(Assembly Language)是一种低级别的计算机编程语言,用于与计算机硬件直接交互,在汇编语言中,程序员使用助记符(mnemonics)来表示机器指令,每个助记符对应于一条特定的机器指令,汇编语言提供了一种更接近机器语言的抽象,但比机器语言更容易理解和编写。

汇编程序执行
编辑(Editing)->汇编(Assembling)->链接(Linking)->加载(Loading)->执行(Execution)->终止(Termination)

编辑(Editing):首先,程序员编写汇编代码,并保存为文本文件,这个过程涉及选择适当的指令、标签、变量等,并且保证语法正确。

汇编(Assembling):汇编器(Assembler)将汇编代码转换成机器语言,也就是将助记符转换为对应的二进制机器指令,汇编器还可能会生成符号表和其他用于调试和链接的信息。

链接(Linking):如果程序包含多个源文件,或者依赖于外部的库文件,链接器(Linker)将这些文件组合在一起,解析符号引用,生成可执行文件;在链接过程中,还会进行地址分配和重定位等操作,以确保程序在内存中正确加载和执行。

加载(Loading):操作系统将可执行文件加载到内存中,并开始执行程序。加载过程涉及将程序代码和数据加载到适当的内存地址,并设置程序的入口点,以便CPU开始执行指令。

执行(Execution):CPU按照程序的指令序列逐条执行指令。在执行过程中,程序可能会读取输入数据、执行算术运算、进行条件分支、修改内存内容等操作,直到程序结束或者遇到终止条件。

终止(Termination):程序执行结束,CPU停止执行指令。在某些情况下,程序可能会通过系统调用或者异常终止,例如遇到错误、完成任务或者收到外部中断。

汇编语言允许程序员直接操作计算机的底层硬件资源,包括处理器、寄存器、内存和输入输出设备等;所以向学好汇编,熟悉计算机的硬件特征是非常重要的。

计算机硬件特征

中央处理器(CPU):CPU是计算机的大脑,负责执行程序指令并处理数据,CPU的性能通常由其时钟频率、核心数量、缓存大小等因素决定。

内存(RAM):内存用于临时存储程序和数据,以供CPU快速访问,内存的大小决定了计算机能同时处理的数据量和程序规模。

存储设备:存储设备用于永久性地存储数据,包括硬盘驱动器(HDD)、固态硬盘(SSD)、光盘驱动器等。存储设备的容量决定了计算机可以存储的数据量。

输入设备:输入设备允许用户将数据和指令输入计算机,包括键盘、鼠标、触摸屏、摄像头等。

输出设备:输出设备显示计算机处理的数据和结果,包括显示器、打印机、音频设备等。

主板:主板是计算机各个组件的连接中枢,包括CPU插槽、内存插槽、扩展插槽等。

图形处理器(GPU):GPU负责处理图形和图像相关的任务,如图形渲染、视频解码等。

网络接口:网络接口允许计算机与网络进行通信,包括以太网接口、Wi-Fi适配器等。

电源供应:电源供应提供电能给计算机各个组件,包括主板、CPU、硬盘等。

处理器

主要的处理器架构

x86_64:x86_64,也称为x64或AMD64,是一种64位的x86架构处理器。它是Intel和AMD等厂商生产的处理器所采用的架构,广泛用于个人电脑、服务器和工作站等系统。x86_64架构保留了传统的x86指令集,并添加了对64位处理和寻址的支持,提供了更大的内存地址空间和更高的性能。流行的操作系统如Windows、Linux和macOS都支持x86_64架构。(本专栏主要分享x86_64架构汇编的内容)

ARM:ARM架构最初是为低功耗、高性能的嵌入式系统设计的。它在移动设备(如智能手机、平板电脑)、嵌入式系统、物联网设备和嵌入式实时操作系统等领域得到广泛应用。ARM处理器以其低功耗、高性能和可扩展性而闻名,其架构设计支持多种处理器核心和配置,从低端微控制器到高端服务器处理器。

MIPS:MIPS是一种经典的RISC(精简指令集计算机)架构,最早由美国斯坦福大学的研究人员开发。MIPS处理器在过去曾经在工作站、路由器、嵌入式系统和嵌入式实时操作系统等领域得到广泛应用。尽管在一些领域的使用逐渐减少,但MIPS仍然在某些特定的应用中有其优势,如高性能嵌入式系统和实时操作系统。

汇编语言与处理器的关系
    汇编语言与特定的处理器架构紧密相关,因为不同的处理器架构具有不同的指令集和指令格式。现如今生产处理器的厂商有很多,如Intel Corporation、Advanced Micro Devices (AMD)、ARM Holdings等每个处理器厂商都有自己的指令集架构和汇编语言。
    Intel和AMD生产的x86处理器使用相同的指令集架构,因此它们的汇编语言是相同的或者非常类似的;而ARM架构的处理器,由于涉及多个授权厂商和定制设计,其汇编语言可能会有所不同。虽然不同厂商的处理器可能有相似之处,但在细节上仍然存在差异,因此需要使用特定于处理器的汇编语言编写代码以确保最佳性能和兼容性。

寄存器

寄存器(Registers):属于处理器的一部分,它们用于执行指令和存储中间结果;寄存器的种类和数量取决于CPU的设计,不同的CPU架构可能具有不同类型和数量的寄存器。

16位处理器的通用寄存器

在许多16位处理器架构中,如x86架构中的16位模式(Real Mode)或8086/8088处理器中,常见的通用寄存器包括:

  1. AX 寄存器:累加器寄存器(Accumulator Register),用于执行算术和逻辑运算,存储运算结果。它还可以被拆分为两个8位寄存器:AH(高位字节)和AL(低位字节)。

  2. BX 寄存器:基址寄存器(Base Register),通常用于存储内存访问的基地址,或者作为通用寄存器使用。它还可以被拆分为两个8位寄存器:BH(高位字节)和BL(低位字节)。

  3. CX 寄存器:计数寄存器(Count Register),通常用于循环计数或者作为通用寄存器使用。它还可以被拆分为两个8位寄存器:CH(高位字节)和CL(低位字节)。

  4. DX 寄存器:数据寄存器(Data Register),通常用于存储数据或者作为通用寄存器使用。它还可以被拆分为两个8位寄存器:DH(高位字节)和DL(低位字节)。

  5. SI 寄存器:源索引寄存器(Source Index Register),通常用于存储源数据的偏移量,比如在字符串操作中用于指向源数据。

  6. DI 寄存器:目的索引寄存器(Destination Index Register),通常用于存储目标数据的偏移量,比如在字符串操作中用于指向目标数据。

  7. SP 寄存器:堆栈指针寄存器(Stack Pointer Register),用于存储当前堆栈的栈顶地址,用于堆栈操作。

  8. BP 寄存器:基址指针寄存器(Base Pointer Register),通常用于存储堆栈帧的基地址,用于函数调用和访问函数参数和局部变量。

寄存器全称用途
AXAccumulator累加器,用于存储运算结果和一般目的数据
BXBase基址寄存器,通常用于存储内存地址
CXCount计数寄存器,通常用于循环计数和循环控制
DXData数据寄存器,用于存储数据和一般目的数据
SISource Index源索引寄存器,用于存储源数据的偏移量
DIDestination Index目的索引寄存器,用于存储目标数据的偏移量
SPStack Pointer堆栈指针寄存器,用于指向当前堆栈的栈顶地址
BPBase Pointer基址指针寄存器,通常用于存储堆栈帧的基地址

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue框架学习--表单校验

在使用 Element UI(一个常见的 Vue UI 组件库),要给 添加表单验证,Element UI 的表单验证通常通过 Form 和 FormItem 组件以及它们的 rules 属性来实现。下面是一个例子,展示如何给联系人字段添加表单验证:…

网页打开:为什么国内用新标签页,国外用当前页?

想写这个话题很久了,因为用百度和Google搜索时,打开搜索结果链接时的交互差异,几乎每天都要提醍我一下。 网页打开——这个交互,在设计里,算是极微小,但影响极广泛的操作设计。甚至,因此形成了…

使用Python处理Excel数据:去除列中的双引号

目录 引言 技术背景 步骤概述 代码示例 案例分析 扩展内容 1. 处理多个列中的双引号 2. 处理大型Excel文件 3. 自定义函数处理数据 4. 错误处理和日志记录 结论 引言 在当今信息爆炸的时代,数据已经成为了各个行业最宝贵的资源之一。而Excel&#xff0c…

转载 | 大佬3万字深度分析:2024全球游戏业正在遭遇什么困境?

2022年,游戏业当时的裁员人数达到了破纪录的8500人,2023年这个数字几乎增长了20%,然后在2024开年的两个月,就已经有7800人丢掉了工作。伴随着这些裁员的,是大量表现不及预期的或者完全失败的游戏,还有更多处…

人工智能(一)架构

一、引言 人工智能这个词不是很新鲜,早就有开始研究的,各种推荐系统、智能客服都是有一定的智能服务的,但是一直都没有体现出多高的智能性,很多时候更像是‘人工智障’。 但是自从chatGpt3被大范围的营销和使用之后,人…

Hbuild-X运行ios基座app

一、说明 ios真机第一次运行的时候需要下载插件,这个都是自动监测,自动下载的,不用多说。ios真机运行是需要签名的,不然就会报以下错误。如何制作免费的签名证书呢,需要借助爱思助手来完成。 二、安装爱思助手 &…

吴恩达机器学习笔记:第 10 周-17大规模机器学习(Large Scale Machine Learning)17.3-17.4

目录 第 10 周 17、 大规模机器学习(Large Scale Machine Learning)17.3 小批量梯度下降17.4 随机梯度下降收敛 第 10 周 17、 大规模机器学习(Large Scale Machine Learning) 17.3 小批量梯度下降 小批量梯度下降算法是介于批量梯度下降算法和随机梯度下降算法之间的算法&am…

一行代码实现vip标志的显示

需求说明 在项目中,后期添加了一种用户类型。需要再用户头像右下角显示一个vip的标志。问题是只要有头像的地方都要显示。而有头像的地方很多,设置到的接口也很多。后面考虑通过一个工具类,将这个功能外挂到原来的业务需要的地方。 实现效果…

Java—如何判断两个浮点数相等

结论 一旦有浮点型数据参与运算的结果,一定不要使用 “ ” 与其比较。 提出问题 我们知道在Java中浮点数float 和 double 的值不能很精准的表示一个小数,因为会有精度损失。 下面来看一个例子: public class FloatTest {public static …

教程:在 Apifox 中将消息通知集成到钉钉、飞书等应用

Apifox 支持将「消息通知」集成到第三方应用平台,包括企业微信、钉钉、飞书、Webhook 和 Jenkins。具体可在项目的【项目设置 -> 通知设置 -> 外部通知】里新建一个通知事件,然后在弹出的界面中配置即可。 在配置界面可以选择需要的触发事件&#…

如何在WordPress中启用两因素身份验证?

在WordPress中启用两因素身份验证方法:安装和激活WordFence安全性、启用两因素验证。 使用您可以从任何位置登录的任何门户,建议启用两个因素身份验证以增加帐户的安全性。 这样,即使有人可以正确猜测你的密码,它们仍然需要获得2…

诸葛智能携手五大银行,以数据驱动的营销中台带来可预见增长

对于银行来说,客户是赖以生存的基础,也是保持活力的关键。尤其是大数据、人工智能等新兴技术的推动下,通过数据赋能产品升级和服务创新,深挖客户潜能,更是助推银行快步迈入高质量发展的新阶段。 在银行加速拥抱新质生…

32位处理的寻址方式

32位处理器兼容16位处理器的寻址方式,可以运行传统的16位代码。但是由于32位的处理器都拥有32位的寄存器和算数逻辑部件,而且同内存芯片之间的数据通路至少是32位的,因此,所有需要从寄存器或者内存地址处取得操作数的指令都被扩充…

Python专题:八、为整数增加小数点

1、题目 虽说很多人讨厌小数点,但是有时候小数点是必不可少的一项,请你使用强制类型转换为输入的整数增加小数点,并输出改变类型后的变量类型。 2、代码 import sysa float(int(input())) print(f"(a:.lf)",type(a),sep"\…

RTMP低延迟推流

人总是需要压力才能进步, 最近有个项目, 需要我在RK3568上, 推流到公网, 最大程度的降低延迟. 废话不多说, 先直接看效果: 数据经过WiFi发送到Inenter的SRS服务器, 再通过网页拉流的. 因为是打金任务, 所以逼了自己一把, 把RTMP推流好好捋一遍. 先说说任务目标, 首先是MPP编码…

什么是检索增强生成(Retrieval Augmented Generation)?RAG 架构如何实现?

检索增强生成(Retrieval Augmented Generation)时代 在不断发展的生成人工智能世界中,检索增强生成 (RAG) 标志着一项重大进步,它将检索模型的准确性与生成模型的创造性相结合,达到了准确&创新的更高层级。 这种…

vue嵌套路由

一、嵌套 children配置 1.父类路由 mymusic 2.子类路由 musicson 1.创建MusicSon组件 <template><div><p>从前和后来</p><p>唯一</p><p>运气来的似有若无</p></div> </template><script>export defaul…

关于电源3(整流滤波电路)

整流滤波电路 框图 一共有四种整流电路 以下是自己参考别人的文章https://blog.csdn.net/zhuguanlin121/article/details/130653498?ops_request_misc%257B%2522request%255Fid%2522%253A%2522171582622316800215096518%2522%252C%2522scm%2522%253A%252220140713.130102334…

【全开源】云界旅游微信小程序(源码搭建/上线/运营/售后/维护更新)

开启您的云端旅行新体验 一、引言 在快节奏的现代生活中&#xff0c;旅行成为了人们放松身心、探索世界的重要方式。让您的旅行更加便捷、高效&#xff0c;打造了云界旅游小程序&#xff0c;带您领略云端旅行的无限魅力。 二、小程序功能概览 云界旅游小程序集成了丰富的旅游…

SIP-7041 20W SIP广播网络有源音箱 校园广播20W木质SIP音箱

SIP-7041 20W SIP广播网络有源音箱 校园广播20W木质SIP音箱 一、描述 SIP-7041 20W SIP广播网络有源音箱 支持标准SIP协议 SIP-7041是我司的一款壁挂式网络有源音箱&#xff0c;具有10/100M以太网接口&#xff0c;可将网络音源通过自带的功放和喇叭输出播放&#xff0c;可达到…
最新文章