【汇编语言】初识汇编

发布于:2024-04-20 ⋅ 阅读:(24) ⋅ 点赞:(0)

【汇编语言】初识汇编



前言

为什么要学习汇编?学习汇编的 理由:
1.效率
运行效率:开发软件核心部件,快速执行和实时响应。
开发效率:做合适的事,开发效率无敌。
2.底层:计算机及外围设备的驱动程序
操作系统的内核。
嵌入式系统:家用电器,仪表仪器,物联网……
汇编语言在学习计算机中起到的独特作用——直击计算机系统的核心

学习汇编语言:
. 向上为理解各种软件系统的原理,打下技术理论基础
. 向下为掌握硬件系统的原理,打下实践应用基础。


由机器语言到汇编语言

机器语言与机器指令

机器语言是机器指令的集合
机器指令是一台机器可以正确执行的命令
机器指令是由一串二进制数表示,例如:011100001

早期程序员们的工作形态:将 0、1 数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。但是如果出错的话查找错误会比较麻烦。

汇编语言与汇编指令

汇编语言的主体是汇编指令
汇编指令和机器指令的差别在于指令的表示方式上:

汇变指令是机器指令便于记忆的书写格式。
汇编指令是机器指令的助记符。

例:
机器指令: 1000100111011000
操作:将寄存器BX的内容送到AX中
汇编指令:MOV AX, BX

在这里插入图片描述

汇编语言程序示例

在这里插入图片描述


计算机组成

计算机组板上有:CPU,总线,内存(条),扩展槽(接外部设备)

在这里插入图片描述
CPU 是计算机的核心部件,它控制整个计算机运作并进行运算。要想让一个CPU工作,就必须向它提供指令和数据
指令和数据在 存储器内存)中存放。
离开了内存,性能再好的CPU也无法工作。

指令和数据的表示

计算机的数据和指令,存储在内存和磁盘上。
数据和指令,都是二进制信息

问题:二进制信息1000100111011000是数据还是指令?

答案是由CPU来决定
CPU把它用作数据:1000100111011000 —>89D8H(数据)
CPU把它用作指令:1000100111011000 —>MOV AX,BX(程序)

数据如何表示?

  • 1000100111011000B(二进制)
  • 89D8H(十六进制)
  • 104730O(八进制)
  • 35288D(十进制)

数据大小:
B(字节)=8bit(比特),KB=1024B,MB=1024KB,GB=1024MB,TB=1024GB.

计算机的存储单元

存储器被划分为若干个内存单元,每个内存单元从0开始顺序编号;

例如:
一个存储器有128个存储单元,
编号从0~127,
如图示:

在这里插入图片描述

实际上:
内存空间很“大”,
8086有20条数据线,
寻址空间2^20=1024*1024B=1MB,为1MB

在这里插入图片描述

计算机的总线

在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。
物理上:一根根导线的集合;
逻辑上:地址总线数据总线控制总线

在这里插入图片描述

  • 地址总线

CPU是通过地址总线来指定存储单元的。地址总线宽度,决定了可寻址的存储单元大小。N根地址总线(宽度为
N),对应寻址空间2N。
在这里插入图片描述

  • 数据总线

CPU与内存或其它器件之间的数据传送是通过数据总线来进行的。数据总线的宽度决定了CPU和外界的数据传送速度。
例:向内存中写入数据89D8H时的数据传送。8088CPU只有8位数据总线要传两次,8086CPU有16根数据总线只要传一次

在这里插入图片描述

  • 控制总线

CPU通过控制总线对外部器件进行控制。控制总线是一些不同控制线的集合控制总线宽度决定了CPU对外部器件的控制能力。
在这里插入图片描述

内存读写与地址空间

CPU对存储器的读写

CPU 想要进行数据的读写,必须和外部器件进行三类信息的交互:

  1. 存储单元地址(地址信息
  2. 器件选择,读或写命令(控制信息
  3. 读或写的数据(数据信息

演示:
机器码: 101000000000001100000000
16进制:A00300
汇编指令:MOV AL,[3]
含义:从3号单元读取数据送入寄存器AL
在这里插入图片描述
要读取的地址信息通过地址线找到相应的内存单元,控制信息的器件通过控制线发出读,地址号为3的内存单元的数据通过数据线读入CPU存放于存放数据的器件。

内存地址空间

什么是内存地址空间:
CPU地址总线宽度为N,寻址空间为2^N B
8086CPU的地址总线宽度为20,那么可
以寻址1MB个内存单元,其内存地址空间为1MB。

从CPU角度看地址空间分配:

在这里插入图片描述
随机存储器(RAM)在程序的执行过程中可读可写,必须带电存储

只读存储器(ROM)在程序的执行过程中只读,关机数据不丢失

在这里插入图片描述
将各类存储器看作一个逻辑存储器——统一编址

所有的物理存储器被看作一个由若干存储单元组成的逻辑存储器;
每个物理存储器在这个逻辑存储器中占有一个地址段,即一段地址空间;
CPU在这段地址空间中读写数据,实际上就是在相对应的物理存储器中读写数据。

在这里插入图片描述
内存地址空间的分配方案——以8086PC机为例

在这里插入图片描述

总结

到这里这篇文章的内容就结束了,谢谢大家的观看,如果有好的建议可以留言喔,谢谢大家啦!