汇编语言1基础知识

news2024/9/20 14:35:55

机器语言

机器语言是机器指令的集合,即计算机可以执行的指令。
机器指令由一连串二进制数字构成,计算机中用高低电平表示。高电平为1,低电平为0。
早期通过在纸带上打孔输入计算机运算。打孔为1,不打孔为0。
在这里插入图片描述
上图出自剧版三体第一集。

汇编语言

汇编语言的产生

机器语言理解与编写起来过于反人类,为了更易人类的理解与编写,机器语言就此诞生,与人类的语言更加接近。
如进行将寄存器AX中的内容发送到BX中的操作,机器语言为:
1000100111011000
汇编语言为:
mov ax,bx
在这里插入图片描述
但计算机只能识别机器语言,因此需要编译器作为汇编语言与机器语言之间的中介,承担翻译工作。
对于机器语言来说,汇编语言是相对更高级的语言(更易于理解与操作),越高级的语言,转换为机器语言的路途中需要的中介也就越多,越来越多的中间商赚差价。因此,越底层的语言,其运行效率也会越高,对计算机的操作也会更加细腻和精准。

汇编语言的组成

·汇编指令:机器码的助记符,有对应的机器码。
·伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
·其它符号:如加减乘除,由编译器识别,没有对应的机器码。
个人理解,编译器就像两个人交流时的翻译,伪指令的意思就像对翻译说,下一句话翻译的时候大声点。翻译并不会把上面的句子翻译过去,但会执行上面的操作。而遇到像这个句子后说,下面的句子先说,翻译在识别后会按照对应操作进行,类似于加减乘除。

存储器

CPU是计算机的核心,用于控制整个计算机的运行并进行运算。但指令和数据集需要从磁盘读取到存储器(内存)中,CPU才能使用。
在这里插入图片描述
CPU就像一个厨师,即使是再好的厨师,如果没有从冰箱里把食材拿出来放到案板上,也是巧妇难为无米之炊。

指令和数据集

指令和数据集在磁盘和内存中没有任何区别,都是0和1构成的二进制信息。但在CPU工作时,有的的信息当作数据使用,有的信息当作指令使用。
在这里插入图片描述
就是围棋棋子,在棋盒里没有任何区别,但是在棋盘上,不同的位置就代表着完全不同的意义。
同样的1000100111011000,可以看作是89D8H的数据,也可以看作是mov ax,bx。

存储单元

存储器被分为若干存储单元,每个存储单元从0开始编号。计算机的最小信息单位是一个二进制位,即1bit,8bit组成1Byte,即一字节。一个存储单元可以存储1Byte(1字节/8bit)。
在这里插入图片描述
每个存储单元就像一个小房子,读取对应的数据需要知道对应小房子的门牌号。每个小房子里有8个房间,每个房价住着1bit,0或者1。
1KB=1024B,1MB=1024KB,1GB=1024MB,1TB=1024GB。(B为字节)

CPU对存储器的读写

CPU要进行数据读写,需要进行如下3种信息交互。
·地址信息-存储单元的地址。
·控制信息-器件的选择,读或写的命令。
·数据信息-读或写的数据。
即确定房间号,进人还是出人,进去的人和出来的人的名字。
在计算机中连接CPU与其他芯片的导线称为总线,根据传递的信息不同,逻辑上分为三种:
在这里插入图片描述
如汇编指令:
MOV AX,[3]
含义为传送3号单元的内容入AX

地址总线

·一个CPU有N根地址线,则可以说这个CPU的地址线宽度为N。这样的CPU最多可以寻找2的N次方个地址单元。

数据总线

·CPU与其他器件之间的数据传送通过数据总线进行。
·数据总线的宽度决定了CPU与外界的数据传输速度。8根数据总线一次可以传输8位二进制数据(1字节),16根数据总线一次可以传输2字节数据。

控制总线

CPU对外部器件的控制通过控制总线进行。控制总线是一些不同控制线的集合。有多少种控制总线,就代表了CPU对外部器件有多少种控制。通过高低电平进行控制。

内存地址空间

若一个CPU的地址总线宽度为10,那么可以寻址1024个存储单元。这1024个存储单元即为这个CPU的内存地址空间。

主板

每个PC上都有一个主板,由核心器件和主要器件构成。器件通过总线(地址总线、数据总线、控制总线)相连。
在这里插入图片描述

接口卡

CPU无法直接对外设(显示器、音响、打印机)进行控制。CPU通过总线对接口卡发送命令,接口卡根据CPU的命令对外设进行控制。

各类存储器芯片

PC中的存储器从读写属性上分为两类:
·随机存储器(RAM)
·只读存储器(ROM)
RAM可读可写,但只能带电存储,关机后数据内容丢失。
ROM只能读取不能写入,关机后数据不会丢失。
各类存储器在物理上是独立的器件,但在CPU进行操作时,把它们看作由若干存储单元组成的逻辑存储器。向显存中输入数据,这些数据会被显卡输入到显示器中,对只读存储器写入数据操作是无效的。

参考文献

·《汇编语言》(第三版)王爽著

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

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

相关文章

c语言tips-【gcc详细介绍】

0. 什么是gcc GCC 原名为 GNU C语言编译器(GNU C Compiler)GCC(GNU Compiler Collection,GNU编译器套件)是由 GNU 开发的编程语言译器。 GNU编译器套件包括C、C、 Objective-C、 Java、 Ada 和 Go语言前端&#xff0c…

【GPLT 二阶题目集】L2-009 抢红包

没有人没抢过红包吧…… 这里给出N个人之间互相发红包、抢红包的记录,请你统计一下他们抢红包的收获。 输入格式: 输出格式: 按照收入金额从高到低的递减顺序输出每个人的编号和收入金额(以元为单位,输出小数点后2位&a…

ISIS与OSPF的双点双向简介与配置,双点双向中存在的问题(次优路径与环路风险)

2.4.0 ISIS与OSPF的双点双向简介与配置,双点双向中存在的问题 关于双点双向的相关概念 单点双向 网络中连接外网的设备称为出口网关设备 ,通常小型网络中仅有一台出口网关设备。 网络中仅存在一台出口设备与外网设备对接时相互引入对端的路由&#xf…

学长教你学C-day12-C语言函数

不知不觉,小刘已经讲了十一天C语言了,语法、数据结构、数组、结构体、指针的概念和使用大家都已经了然于心,但是想用C语言开发一个有用的程序还需要一个很关键的部分,那就是编写“函数”。 “函数这个名字大家肯定都不陌生&#x…

ZooKeeper架构篇 - 分布式协调服务ZooKeeper

前言 本文基于 ZooKeeper 3.8.0 版本。 ZooKeeper集群搭建 准备四台服务器,IP地址分别为10.211.55.6、10.211.55.7、10.211.55.8、10.211.55.9 下载并解压 ZooKeeper 文件,四台服务器进入 data 目录分别创建一个 myid 文件,文件内容分别为…

vue全家桶(二)组件化开发

vue全家桶(二)组件化开发1.组件化开发思想2.组件注册2.1局部注册2.2全局注册Vue.component1.注意事项:2.组件的命名方式3.组件间的交互3.1父组件向子组件传值-props属性值类型1.组件化开发思想 标准分治重用组合 2.组件注册 vue 注册组件的…

《动手学深度学习》笔记一 ------机器学习中的基础概念

写在前面:本文按照书中的脉络做的笔记,包含概念的定义、自己的理解以及阅读时的小思考。感受:深度学习很奥妙,很有趣! 1.2机器学习中的关键组件 可以⽤来学习的数据(data);如何转换…

直接在Notepad++中运行GO语言

建议先阅读并实践(配置notepad支持go语言语法着色(高亮)):https://mp.csdn.net/mp_blog/creation/editor/new/1287591911.Windows上安装Go语言开发包参考链接:http://c.biancheng.net/view/3992.html1.1.下载Go语言开发包可以在Go语言官网 &a…

大聪明教你学Java | 深入浅出聊 Mybatis 的一级缓存和二级缓存

前言 🍊作者简介: 不肯过江东丶,一个来自二线城市的程序员,致力于用“猥琐”办法解决繁琐问题,让复杂的问题变得通俗易懂。 🍊支持作者: 点赞👍、关注💖、留言&#x1f4…

【头歌】函数的递归调用

第1关:编写递归函数方法求x的n次方 (要求n>0)任务描述本关任务:编写递归函数方法求x的n次方 (要求n>0)。相关知识递归法在定义一个过程或函数时出现调用本过程或本函数的成分,称之为递归。若调用自身,称之为直接递归。若过程…

论文笔记:SEMI-SUPERVISED CLASSIFICATION WITH GRAPH CONVOLUTIONAL NETWORKS

ICLR 2017 1 abstract和intro部分 问题的setting 在图上进行节点分类,其中只有一部分节点有label ——>基于图的半监督学习传统的方法是使用平滑正则 其中L0表示图中有监督部分的lossf是神经网络,ΔD-A表示unnormalized的拉普拉斯矩阵 这种方…

Blender 物理属性 (五)动态绘画

文章目录动态绘画简介.以小船划过水面产生波纹为例.波浪属性.动态绘画简介. 1 动态绘画可以让一个物体在另一个物体上绘制东西 2 动态绘画至少需要两个物体,一个作为画布,另一个作为笔刷 3 两个物体必须接触才有效果 以小船划过水面产生波纹为例. 1 为…

【数据结构】浅识泛型

目录 1、包装类 1.1、基本数据类型和其包装类 1.2、装箱和拆箱 1.2.1、装箱 1.2.2、拆箱 1.2.3、面试题 2、泛型的概念 3、引出泛型 3.1、语法 4、泛型类的使用 4.1、语法 5、裸类型(Raw Type) 6、泛型是如何编译的 6.1、擦除机制 6.2、不…

Springboot+ssm371的在线考试系统maven idea

摘 要 I 1 绪论 1 1.1研究背景 1 1.2研究现状 1 1.3研究内容 2 2 系统关键技术 3 springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是…

DPO4104示波器

18320918653 DPO4104 详细说明: 美国泰克Tektronix DPO4104数字荧光示波器主要产品特色:Inspector智能存储管理2.串行触发和分析3.10.4”更大的显示器, 前面板上USB和CompactFlash端口, 及TekVPI?改善的探头接口, 更强的操作渐 变性商品名称 &#x…

针孔相机模型

针孔相机模型坐标系(1) 图像像素坐标系(2) 图像物理坐标系(3) 相机坐标系(4) 归一化平面坐标系(5) 世界坐标系畸变校正针孔相机模型中一般会涉及到图像像素坐标系、图像物理坐标系、相机坐标系、归一化平面坐标系和世界坐标系这5个坐标系。 坐标系 (1) 图像像素坐标系 图像像…

IDEA设置界面和控制台的滚动条颜色

前言 不知道大家是否和我一样有这么一个烦恼: IDEA自带的滚动条颜色很暗,配上一些主题颜色搭配很难发现。 所以今天就想着怎么可以修改滚动条颜色,首先去网上搜了搜都是什么鼠标滚轮加shift滚动,一点也不实用 偶然看到了个不错的…

图表控件LightningChart.NET 系列教程(七):LightningChart 组件——LightningChart.NET 函数库

LightningChart.NET SDK 是一款高性能数据可视化插件工具,由数据可视化软件组件和工具类组成,可支持基于 Windows 的用户界面框架(Windows Presentation Foundation)、Windows 通用应用平台(Universal Windows Platfor…

匿名函数 lambda

匿名函数 lambda 匿名函数:一句话函数,比较简单的函数,没有函数名的函数 在Python中,lambda的语法是唯一的 lamlambda a,b:ab lamlam(a1,b2) # 传参 print(lam) # 3lmbda的语法是唯一的。其形式如下:lambda argument_list: expr…

python图像处理(prewitt算子)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 前面几章谈到了灰化、增强、旋转、滤波等内容,今天来谈一谈边缘检测。边缘检测是图像处理的重要内容。很多图像分割、图像识别的前一步就是边缘检测。某种意义上说,边缘检测的好坏…