汇编语言之基础

本系列为学习<汇编语言> 王爽版 的学习笔记

[TOC]

汇编语言是什么?

汇编语言是直接在硬件之上工作的编程语言,是人和计算机沟通的最直接的方式,他描述了机器最终所要执行的指令序列.

学习汇编的目的:

1.充分获得底层编程的体验
2.深刻理解机器运行程序的机理

机器语言

机器语言是机器指令的集合.电子计算机的机器指令是一列二进制数字. 计算机将之转变成为一列高低电平,以使计算机的电子器受到驱动,进行运算.

早期的程序设计均使用机器语言.程序员们将用0,1数字编程的程序代码打在纸带或卡片上,1打孔,0不打孔.再将程序通过纸带机或者卡片机输入计算机,进行计算.

由此可以想象,当时的编程巨麻烦,可维护性也特差,也给计算机产业发展造成了障碍,于是汇编语言就产生了.

汇编语言的产生

汇编语言的主题是汇编指令.他与机器指令的差别在于指令的表达方式上,汇编指令更便于记忆.

汇编的组成

  • 汇编指令

机器码的助记符,有对应的机器码
是汇编语言的核心

  • 伪指令

没有对应的机器码,由编译器执行,计算机并不执行

  • 其他符号

如+ – * /等,由编译器识别,没有对应的机器码

存储器

就是我们常说的内存,需要注意的是磁盘不是内存,磁盘上的数据或者程序如果不读到内存中,CPU是无法使用的

  • 指令和数据

两者其实没有区别,都是二进制信息

  • 存储单元

存储器被划分成若干个单元,每个存储单元从0开始顺序编号,一个存储单元可以存储8个bit
一个二进制位: 1 bit
1 byte = 8 bit

cpu对存储器的读写

cpu想进行读写,必须和外部器件进行信息交互:
1 .存储单元的地址(地址信息)
2.器件的选择,读或写的命令(控制信息)
3.读或写的数据(数据信息)

总线

计算机能处理和传输的信息都是电信号,电信号是通过导线传送的.
专门连接CPU和其他芯片的导线被称为:总线,从物理上讲就是一根根导线的集合.
根据传输的信息不同,总线在逻辑上分为3种:

  1. 地址总线
  2. 控制总线
  3. 数据总线

地址总线

CPU通过地址总线来指定存储器单元,可见地址总线上能传送多少个不同的信息,CPU就能对多少个存储单元进行寻址

电子计算机中,一根导线能传送的稳定状态只有2中:高电平或者低电平,用二进制表示就是1和0.所以N根导线能表示2的N次方个不同数据.

一个CPU有N根地址总线,则可以说这个CPU的地址总线的宽度为N

数据总线

数据总线的宽度决定了CPU和外界的数据传送的速度.

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

如果传送一个16位进制的数 使用数据总线宽度为8的8088CPU需要传输2次 ,而使用数据总线宽度是16的8086CPU就只需要一次

控制总线

控制总线是一些不同控制线的集合.
控制总线的宽度决定了CPU对外部器件的控制能力

内存地址空间

虽然外部器件时独立的,但是CPU在操作其他器件时,都是把他们当做内存对待的.把他们看成由若干存储单元组成的逻辑存储器,

可寻到的内存单元构成内存地址空间

对于CPU而言,系统中所有的存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU的寻址能力的限制.这个逻辑存储器就是我们说的内存地址空间

  • 主板:

主板上有核心器件和一些主要器件
这些器件通过总线相连

  • 接口卡

CPU不能对外部设备直接控制,直接控制这些设备的是在扩展插槽上的接口卡,扩展槽通过总线和CPU相连,所有接口卡也可以通过总线同CPU相连.
CPU通过总线想接口卡发送命令
接口卡根据CPU的命令控制外设备

    原文作者:拙峰朽木
    原文地址: https://www.jianshu.com/p/293ed40aacc1
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞