汇编基础知识

server/2025/3/18 5:25:47/

CPU:一种可以执行机器指令进行运算的芯片(微处理器)。

存储器(内存):存放CPU可以工作的指令和数据(指令和数据都是二进制信息)。  磁盘不同于内存,磁盘中的数据要读到内存中才能被CPU使用          

磁盘>>内存>>CPU

存储器分若干存储单元,并从0开始按顺序编号(一个存储器有128个存储单元,编号0~128)

电子计算机最小信息单位是bit(比特),即一个二进制位。

8个bit(8个二进制位)组成一个字节(Byte)。

大容量存储器计量容量的单位(磁盘单位也一样):

1KB=1024B

1MB=1024KB 

1GB=1024MB 

1TB=1024GB

机器指令就是一台机器可以正确执行的命令。(电子计算机的机器指令是一列二进制数字0、1)

主板:上面有核心器件和主要器件,还有拓展插槽(上面一般有RAM内存条和各类接口卡)他们通过总线相连

接口卡:CPU对外部设备(显示器、音响、打印机等)不能直接控制,插在扩展插槽上的接口卡才能直接控制,CPU又可以通过总线直接控制接口卡,达到根据CPU间接命令控制外设进行工作的目的  (很长一大段总结下来的)

二进制数字>高低电平>驱动计算机电子器件>进行运算

寄存器:CPU中可以存储数据的器件,一个CPU含有多个寄存器

汇编指令是机器指令便于记忆的书写格式。(用于编写源程序)

操作:寄存器BX的内容送到AX中(其中一个寄存器的代号,即另一个寄存器)

机器指令:1000100111011000

汇编指令: mov ax,bx

汇编语言写出)源程序 >> 汇编编译器(编译为) >> 机器码(计算机可执行)

因为存储器被划分成多个存储单元并编号,可将编号视为地址,方便CPU从指定地址中读取数据

CPU要想进行数据的读写,必须和芯片进行3类信息交互:

(1)存储单元的地址(地址信息)

(2)器件的选择,读或写的命令

(3)读或写的数据(数据选择)

如图

我将其通俗的理解为   1找、2回、3去

专门连接CPU和其他芯片的导线:总线(逻辑上分为 地址总线、控制总线、数据总线)

即 “”一找地址线、二回数据线、三去控制线”,这样感觉方便理解一点

写、读操作的步骤都一样。

地址总线

一根导线只能传送 高电平 或 低电平 两种稳定状态,二进制表示 0 或 1.

10根导线可传送10位二进制数据;10位二进制数据可表示2**10(2的10次方)个不同的数据(最小0,最大1023)

地址总线的宽度决定了CPU的寻址能力

如10根地址线的CPU向内存发出地址信息11时 10根地址线上传送的二进制信息为:

数据总线

数据总线:CPU与内存或其他器件之间进行数据传输的介质,其宽度(根数)决定CPU与外界的数据传输速度。

如8根数据总线一次可传送一个8位2二进制数(即一字节)

8088CPU(总线宽为8)的数据传输情况为:

8086CPU(总线宽16)的数据传输情况:

控制总线

CPU可通过控制总线(是一些不同控制线的集合)对外部器件进行控制。有多少根控制总线就意味着CPU对外部的控制有多少种。(越多控制能力越强,包括读或写命令)

总之,

汇编指令是机器指令的助记符,他们一 一对应。

每一种CPU都有自己的汇编指令集

CPU可以直接使用的信息存放在存储器中

存储器中指令和数据没有任何区别(都是二进制信息)

最终运行程序的是CPU,用汇编语言编程的时候,必须要从CPU的角度考虑问题。

对于CPU来讲,系统中所有 存储器 中的 存储单元 都处于一个统一的 逻辑存储器 中,它的容量受CPU 寻址能力 的限制(这句话或许要在后期的学习中逐渐体会)

汇编语言的组成

(1)汇编指令(核心,其决定了汇编语言的特性):机器码的助记符,有对应的机器码

(2)伪指令:没有对应的机器码,由编译器执行,计算机不执行

(3)其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码


http://www.ppmy.cn/server/175875.html

相关文章

Servlet 点击计数器

Servlet 点击计数器 引言 随着互联网的快速发展,Web应用程序已成为人们日常生活中不可或缺的一部分。Servlet 作为Java平台上用于开发Web应用程序的重要技术之一,已经广泛应用于各种Web项目中。本文将详细介绍Servlet点击计数器的实现方法,…

【JavaWeb12】数据交换与异步请求:JSON与Ajax的绝妙搭配是否塑造了Web的交互革命?

文章目录 🌍一. 数据交换--JSON❄️1. JSON介绍❄️2. JSON 快速入门❄️3. JSON 对象和字符串对象转换❄️4. JSON 在 java 中使用❄️5. 代码演示 🌍二. 异步请求--Ajax❄️1. 基本介绍❄️2. JavaScript 原生 Ajax 请求❄️3. JQuery 的 Ajax 请求 &a…

计算机网络笔记再战——理解几个经典的协议HTTP章4

计算机网络笔记再战——理解几个经典的协议10 HTTP章4 确保 Web 安全的HTTPS ​ HTTP是不安全的,它使用的是明文传递,这意味着潜在的报文纂改。这里我们将学习更加安全的HTTPS协议 通信使用明文(不加密),内容可能会…

SOME/IP:用Python实现协议订阅、Offer、订阅ACK与报文接收

文章目录 前言一、代码层次二、详细代码1. eth_scapy_sd.py2、eth_scapy_someip.py3、network_define.py4、packet_define.py5、unpack_define.py6、someip_controller.py 前言 1、需要pip安装scapy库 2、需要修改根据实际情况配置network_define.py 3、执行someip_controller…

PostgreSQL 和 MySQL 区别

文章目录 前言一、核心区别二、如何选择三、优缺点对比总结 前言 PostgreSQL 和 MySQL 是两种流行的关系型数据库管理系统,它们在架构、功能、性能等方面各有优劣,具体选择要看你的业务需求。 一、核心区别 方面PostgreSQLMySQL架构纯正的面向对象关系…

OSPF路由协议详解---通俗易懂!

目录 一、基本概念 1.概念 2.特点 3.相关术语 Router-ID 度量值 ABR与ASBR 二、报文 1.格式 2.报文 三、邻居建立过程 三张表 8状态 ​编辑四、DR与BDR选举 选举规则 五、网络类型 六、LSA 七、OSPF的特殊区域及防环机制 作用: 要求&#xff1a…

不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 …

【从零开始学习计算机科学】软件工程(三)需求工程

【从零开始学习计算机科学】软件工程(三)需求工程 需求工程好的需求应具备的特征:需求工程(Requirement Engineering, RE)起始导出需求讨论会头脑风暴调查问卷场景分析法实地考察原型法精化协商规格说明确认需求管理需求工程 设计和开发一个计算机软件时,如果软件解决的…