美文网首页
第一章 汇编语言的基础知识上(内容采摘于书籍)

第一章 汇编语言的基础知识上(内容采摘于书籍)

作者: 辉哥学法律 | 来源:发表于2020-03-12 12:39 被阅读0次

1.1机器语言

第一代计算机语言为 机器语言 。那什么是机器语言呢?通俗一点的说法就是计算机能够读懂的语言,如下图所示:

linux系统展示机器语言源码.jpg

1.2汇编语言的产生

由于机器语言存在 可读性差、难记忆、易错、可移植性差 等特点,所以人们极力想寻求一种方法来提高编程的效率。这时候汇编语言就在这种背景下产生了

linux系统展示汇编语言源码.jpg

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

例如机器指令 1000100111011000 表示把寄存器Bx的内容传送到AX中。汇编指令则写成mov ax,bx。这样的写法与人类的语言接近,便于阅读和记忆。(寄存器简单来说是CPU中可以存储数据的器件,一个CPU可以有多个寄存器。AX是其中一个寄存器的代号,BX是另外一个寄存器的代号。更详细的内容本书后面内容有详细的介绍)

#表示把寄存器Bx的内容传送到AX中
mov ax,bx

此后程序员们能够用汇编语言快乐的Coding了。可是计算机能够读懂的只有机器语言。那怎么能够让计算机读懂汇编语言呢?这时候,就需要一个能够将汇编指令转换成机器指令的翻译程序,这样的程序我们称其为 编译器。程序员用编程语言写出程序,再借助编译器将其编译为机器码,由计算机最终执行。整个过程如下图所示:

汇编语言工作原理

1.3汇编语言的组成

汇编语言发展至今,有以下3类指令组成。

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

汇编语言的核心是汇编指令,它决定了汇编语言的特性。

1.4存储器

CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU工作,就必须向它提供指令和数据。指令和数据在存储器中存放,也就是我们平时所说的内存。在一台PC机中内存的作用仅次于CPU,离开了内存,性能再好的CPU也无法工作。好比鱼离开了水无法呼吸。
磁盘不同于内存,磁盘上面的数据或者程序如果不读到内存中,就无法被CPU使用。要灵活的运用汇编语言编程,我们首先要了解CPU是如何从内存中读取信息,以及向内存中写入信息的。

1.5指令和数据

指令和数据是应用上的概念。在内存或者磁盘上,指令和数据没有任何区别,都是二进制信息。CPU在工作的时候把有的信息看做指令,有的信息看做数据,为同样的信息赋予了不同的意义。就好比扑克牌,在包装盒里面没有任何区别,在打牌的时候就有了不同的作用和意义。

例如,内存中的二进制数字1000100111011000,计算机可以把它看作大小为89d8H的数据来处理,也可以将其看作指令来执行:


// 内存中的二进制数字**1000100111011000**,计算机可以把它看作大小为89d8H的数据来处理,也可以将其看作指令来执行:
mov ax,bx


1.6存储单元

存储器被划分成若干个存储单元,每个存储单元从0开始编号,例如一个存储器有128个存储单元,编号从0-127,如下图所示:

那么一个存储单元能存储多少信息呢?我们知道计算机的最小信息单位是bit,也就是一个二进制位8个bit组成一个Byte,即8个二进制位。一个存储器有128个存储单元,它可以存储128个Byte。

微机存储器的容量是以字节为最小单位来计算的。对于拥有128个存储单元的存储器,我们可以说它的容量为128个字节。对于大容量的存储器一般还用以下单位来计算容量:

  • 1KB=1024B
  • 1MB=1024KB
  • 1GB=1024MB
  • 1TB=1024GB
    磁盘的容量单位同内存的一样,实际上以上单位是微机中常用的计量单位。

1.7CPU对存储器的读写

以上讲到,存储器被划分成多个存储单元,存储单元从零开始顺序编号。这些编号可以看作存储单元在存储器中的地址。就像一条街,每个房子都有门票编号。

CPU要从内存中读取数据,首先需要制定存储单元,也就是说它要先确定它要读取哪一个存储单元中的数据,好比你要找一个人,先要确定他住在哪个房子里面。

可见,CPU要想进行数据的读写,必须和外部器件(标准的说法是芯片)进行下面3类信息的交互。

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

那么CPU是通过什么将地址、数据和控制信息传到存储器芯片中的呢?电子计算机能处理、传输的信号都是电信号,电信号当然要用导线传送。在计算机中专门有连接CPU和其他芯片的导线,通常称为总线。总线从物理上来讲,就是一根根导线的集合。根据传送信息的不同,总线从逻辑上又分为3类,地址总线、控制总线和数据总线

CPU从3号单元中读取数据的全过程如下图所示:


1 cpu通过地址总线将地址信息3发出
2 cpu通过控制总线发出内存读取命令
3 存储器将3号单元中的数据8通过数据线传送到cpu中

从上面的案例中我们知道了CPU是如何进行数据的读写的。可是如何命令计算机进行数据的读写呢?要让一个计算机活着微处理器工作,应向它输入能够驱动它进行工作的电平信息(机器码)

对于8086CPU,下面的机器码,能够完成从3号单元读取数据。
机器码:101000010000001100000000
含义:从3号单元读取数据送入寄存器AX

相关文章

  • 第一章 汇编语言的基础知识上(内容采摘于书籍)

    1.1机器语言 第一代计算机语言为 机器语言 。那什么是机器语言呢?通俗一点的说法就是计算机能够读懂的语言,如下图...

  • 第一章 汇编语言的基础知识下(内容采摘于书籍)

    1.8地址总线 现在我们知道,CPU是通过地址总线来指定存储单元的。可见地址总线能传输多少个不同的信息,CPU就可...

  • hehe

    王爽汇编全书知识点大纲 第一章 基础知识 机器语言 汇编语言的产生 汇编语言的组成 存储器 cpu对存储器的读写 ...

  • 《汇编语言(王爽)》读书笔记

    最近在读王爽版的《汇编语言》,把需要记录的内容记录在这里。 第一章 基础知识 编译器:将汇编指令转换成机器指令的翻...

  • 《汇编语言》笔记

    笔记《汇编语言》 作者:王爽 第一章 基础知识 1.1 机器语言 什么是机器语言? 机器语言是机器指令的集合 什么...

  • <<汇编语言>>第1章笔记

    第一章 基础知识 汇编语言基本概念 汇编指令是机器指令便于记忆的书写格式,通过编译器把汇编指令对应到机器指令,汇编...

  • 汇编语言(第3版)王爽

    一、基础知识 mov ax,bx把BX内容送到AX中。汇编语言有3类指令,汇编指令、伪指令,其他符号。CPU通过地...

  • 《《汇编语言(第3版) 》王爽著》 分享下载

    书籍信息 书名: 《汇编语言(第3版) 》王爽著 标签: 《汇编语言(第3版) 》王爽著,免费,程序员书籍,编程,...

  • 汇编语言

    基础知识: 汇编语言的主体是汇编指令,它决定了汇编语言特性 程序员用汇编语言写出源程序,再用汇编编译器将其编译成机...

  • 汇编语言 Ch1-基础知识 笔记

    汇编语言 Ch1-基础知识 笔记 ![](http://picture-repository-of-heamon7...

网友评论

      本文标题:第一章 汇编语言的基础知识上(内容采摘于书籍)

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