您的位置:首页 > 其它

汇编语言基础知识

2018-04-27 10:41 232 查看

刚上大学的时候,就知道计算机中全是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传递情况。

七、控制总线

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: