美文网首页
汇编复习-基础知识

汇编复习-基础知识

作者: NoviceQAQ | 来源:发表于2018-08-07 15:06 被阅读0次

    看书时不写废话deepin的截图现在怎么有蓝边框了见谅。


    汇编语言的产生

    汇编语言主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。

    例如
    操作 寄存器BX的内容送到AX中
    机器指令 1000100111011000
    汇编指令 mov ax,bx

    计算机只能识别机器码所以需要编译器将汇编指令转化为机器指令。

    编译器

    汇编语言的组成

    汇编语言由以下3类指令组成

    汇编语言组成
    汇编指令 机器码的助记符,有对应机器码
    伪指令 没有对应的机器码,由编译器执行,计算机并不执行
    其他符号 如+、-、*、/等,由编译器识别,没有对应的机器码

    存储器

    CPU(Central Processing Unit,中央处理单元)是计算机核心部件,想让CPU工作,就必须向它提供指令和数据,指令和数据存储在内存中,内存就是存储器。
    指令和数据在内存中都是二进制数据,针对不同的使用代表的意义也不同。
    1000100111011000 →89D8(数据)
    1000100111011000 →mov ax,bx(指令)

    存储单元

    内存被划分为若干个存储单元,存储单元从零开始编号,每个存储单元可以存放一个字节(byte),拥有128个存储单元的存储器,我们可以说它的容量是128个字节。
    通常我们电脑有16G内存,那么总共有1610241024*1024 = 17179869184个单元。
    注意:一个字节(byte)为8比特(bit),1个比特为1个二进制位,故一个单元可以存储8个二进制位。

    CPU对存储器的读写

    CPU要从内存中读数据必须制定内存中的地址,当然在计算机中不仅有内存,还有显卡、网卡等器件,它堆哪个器件进行操作,进行读写数据也是需要明确的。可见CPU主要进行三类信息交互:

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

    计算机中专门有链接CPU和其他芯片的导线,通常成为总线。总线从物理上来讲是一根导线的集合,根据传送信息的不同,总线从逻辑上又分为3类,地址总线,控制总线和数据总线。CPU通过总线将地址、数据和控制信息传送到内存芯片中。

    总线

    地址总线

    CPU是通过地址总线来指定存储器单元的。地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。
    一个CPU有10根地址总线,一根导线可以传送的稳定状态只有两种,高电平或低店铺。用二进制表示为1或0,而10位可以表示2的10次方个不同的数据。如果一个CPU有N根地址线,则可以说这个CPU地址总线宽度为N,这样的CPU最多可以寻找2的N次方个内存单元。

    数据总线

    数据总线的宽度决定了CPU和外界的数据传送速度。8根数据总线一次可以传送一个8位二进制数据,也就是一个字节。8086CPU的数据总线宽度为16,可以一次性传送2个字节。

    控制总线

    控制总线是一些不同控制线的集合,有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。

    接口卡

    CPU堆外部设备不能直接控制,如显示器、音响、打印机等。直接控制想这些设备进行工作是插在扩展插槽上的借口卡。扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡。从而实现CPU对外设的简介控制。

    各类存储器芯片

    一台PC装有多个存储芯片,这些存储芯片从物理链接上看是独立的、不同的器件从读写属性上看分为两类;随机存储器(RAM)和只读存储器(ROM)。
    RAM-read access memory随机存储器可读可写,但必须带电存储,关机后存储的内容丢失。
    ROM-read only memory只读存储器,只能读取不能写入。关机后内容不丢失。

    PC机中各类存储器的逻辑链接

    内存地址空间

    CPU在操控上述的存储器的时候都把它们当作内存来对待,把它们看作若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。

    逻辑存储器

    内存地址空间的大小受CPU地址总线宽度的限制。8086CPU地址总线宽度为20,可以传送2的20次方个不同地址信息,即可以定位2的20次方个内存单元。8086PC的内存地址空间大小为2^20=1048576=1024×1024×1(1个单元大小为1字节、1字节=8bit)=1MB
    在基于一个计算机硬件系统编程的时候,必须知道这个系统中的内存地址空间分配情况。因为当我们想在某类存储器中读写数据的时候,必须知道它的第一个单元的地址和最后一个单元的地址。比如我们希望向显示器输出一段信息,那么必须将这段信息写到显存中,显卡才能将它输出到显示器上。

    8086PC机内存地址空间分配

    相关文章

      网友评论

          本文标题:汇编复习-基础知识

          本文链接:https://www.haomeiwen.com/subject/gwqovftx.html