8086汇编教程之 基础知识

基础知识

机器语言

机器语言是机器指令的集合

机器语言就是一台机器可以正确执行的命令

指令:01010000(PUSH AX)

汇编语言

  • 机器指令:1000100111011000
  • 操作:寄存器BX的内容送到AX中
  • 汇编指令:MOV AX,BX
  • 这样的写法便于阅读和记忆

汇编语言的组成

  • 汇编语言由以下3类组成
    • 汇编指令(机器码的助记符)
    • 伪指令(由编译器执行)
    • 其他符号(由编译器执行)
  • 汇编语言的核心是汇编指令,它决定了汇编语言的特性

存储器

  • CPU是计算机的核心部件,它控制整个计算机的运行并进行运算,要想让CPU运作,必须向它提供指令和数据
  • 指令和数据在存储器中存放,也就是平时说的内存
  • 在一台PC中内存的作用仅次于CPU
  • 磁盘不同于内存,磁盘上的数据或程序如果不读到内存中就不能被CPU使用

指令和数据

  • 指令和数据是应用上的概念

  • 在内存或磁盘中,指令和数据没有任何区别,都是二进制信息

  • 1000100111011000 -> 35288 -> 89D8H(数据)

    1000100111011000 -> MOV AX,BX(指令)

存储单元

  • 存储器被划分为若干个存储单元,每个存储单元从0开始顺序编号
  • 容量单位:
    • 1KB = 1024B
    • 1MB = 1024KB
    • 1GB = 1024MB
    • 1TB = 1024GB

CPU对存储器的读写

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

    • 存储单元的地址(地址信息)
    • 器件的选择,读或写命令(控制信息)
    • 读或写的数据(数据信息)
  • 在计算机中有专门连接CPU和其他芯片的导线,通常称为总线

    • 物理上:一根根导线的集合
    • 逻辑上划分为:
      • 地址总线
      • 数据总线
      • 控制总线
  • 对于8086CPU,下面的机器码能够完成从3号单元读数据

    • 机器码:101000000000001100000000
    • 含义:从3号单元读取数据送入寄存器AX

地址总线

  • CPU是通过地址总线来指定存储单元的

  • 地址总线上能传送多少不同的信息,CPU就可以对多少个存储单元进行寻址

  • 地址总线的数量就是电脑的位数(32位,64位)

    • 要达到64位的速度,你要有
      1. 64位的CPU
      2. 64位的操作系统
      3. 64位的软件

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

数据总线

  • CPU与内存或其他器件之间的数据传送是通过数据总线进行的
  • 数据总线的宽度决定了CPU和外界的数据传送速度

控制总线

  • CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合
  • 有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制

内存地址空间

  • 一个CPU的地址线宽度为10,那么可以寻址1024个内存单元,这1024个可寻到的内存单元就构成这个CPU的内存地址空间

主板

  • 在每一台PC机中,都有一个主板,主板上有核心器件和一些主要器件
  • 这些器件通过总线相连

接口卡

  • 计算机系统中,所有可用程序控制其运作的设备,必须受到CPU的控制
  • CPU对外部设备不能直接控制,如显示器、音响等。直接控制这些设备进行运作的是插在拓展插槽上的接口卡

各类存储器芯片

  • 从读写属性上看分为两类:

    • 随机存储器(RAM)
    • 只读存储器(ROM)
  • 从功能和连接上分类:

    • 随机存储器RAM
    • 装有BIOS的ROM
    • 接口卡上的RAM

  • 上述存储器在物理上是独立的,但它们在以下两点上相同:

    • 都和CPU的总线相连
    • CPU对它们进行读和写的时候都通过控制线发出内存读写命令
  • 将各类存储器看作一个逻辑存储器:

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

  • 不同计算机系统的内存地址空间分配情况是不同的

  • 内存地址空间:

    • 最终运行程序的是CPU,编程的时候,必须要从CPU角度考虑问题
原文地址:https://www.cnblogs.com/zhujiangyu/p/14394591.html