• 汇编语言基础知识


    刚上大学的时候,就知道计算机中全是0和1。但是真的有0和1吗?其实没有。其实我们所说的0和1,只不过是高低电压。

    一、汇编语言的产生

            早起的编程是将纸带打孔,通过不打孔表示0,打孔表示1。再用纸带机读取纸带输入到计算机中。比如完成768+1228-1280的机器码如下:

     101110000000000000000011000001010000000000110000001011010000000000000101 。不仅很难编写,而且不容易发现错误。于是汇编语言就产生了。汇编语言的主体是汇编指令。例如操作寄存器BX的内容送到AX中

        机器指令:1000100111011000

        汇编指令:mov ax,bx

    程序员只需要编写汇编指令,然后通过编译器将汇编指令变为机器可以读懂的机器码,也就是代表0101的高低电平了。

    二、存储器

            存储器就是我们平时所说的内存了。CPU运算,需要数据和指令,数据和指令就存储在内存中。需要注意的是硬盘也能存储数据,但是硬盘的读取速度远小于CPU处理的速度,所以当运行一个程序的时候,首先将需要硬盘中的数据加载到内存中,然后CPU从内存中读取数据。

    三、指令和数据

            指令和数据,本质都是二进制信息,没有任何区别。例如:1000100111011000 可以看做大小为89D8H的数据来处理,也可以将其看做指令mov ax,bx来执行。

    四、存储单元

      存储单元指计算机存储信息的最小单元,就如细胞是人体组成的最小单元一样。计算机中最小的信息单位是bit,也就是一个二进制位。8个bit组成最小的存储单位是Byte(字节)。

      存储器中有若干个存储单元,这些存储单元从零开始顺序编号,这些编号就作为存储单元的地址。当CPU从内存中读/写数据的时候,首先CPU需要知道去哪里读取数据,也就是要知道存储数据的地址。所以需要将地址传递给内存。知道数据地址后,还需要告诉CPU还需要告诉内存是读还是写操作。当这些都告诉内存后,如果是读数据通过地址读取数据将数据传递给CPU,如果是写数据,CPU将数据传递给内存,写入相应的地址。

                                                                                                                             

    如上图CPU读取流程:

      1、CPU将地址信息3发出。

      2、CPU通过控制总线发出内存读取命令,选中存储器芯片,并通知它,要读取数据。

      3、内存将3好单元的数据8通过数据总线传给CPU

    五、地址总线

       CPU与内存相连接的线其实就是物理线缆。每一根线缆单位时间内传递一次高低电平,也就是0/1。比如现在地址总线有10根线缆,那每次就能传递10二进制位的数据,其数据大小为0到1023,也就是10根导线传递全是0 和全是1之间。

    六、数据总线

      数据总线跟地址总线一样,也是通过导线相连接。如8088CPU的数据总线宽度为8,8086CUP的数据总线宽度为16。当像CPU中传递89D8H时,下图为两种CPU传递情况。

    七、控制总线

  • 相关阅读:
    1. 首次运行 Git 的配置
    本地git连接github
    Cygwin(linux)中vim配置
    ibatis入门
    XML(可扩展性标记语言)学习汇总一
    第一只小啊小爬虫(纪念下)
    Android SQLite DB的封装
    关于做项目的一些感想
    Git 初学三(git对象与git重置)
    Git 初学二(暂存区)
  • 原文地址:https://www.cnblogs.com/MicroHeart/p/8961237.html
Copyright © 2020-2023  润新知