《汇编语言》笔记——第一章 基础知识

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/KeenCryp/article/details/82817734

机器语言

机器语言是机器指令的集合。电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,进行运算。

每一种微处理器都有自己的机器指令集,也就是机器语言。

汇编语言

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

例如:mov ax,bx

Q:如何让计算机执行程序员用汇编指令编写的程序呢?
A:需要一个能够将汇编指令转换成机器指令的翻译程序,我们称其为编译器。
例如:MASM(全称是Microsoft Macro Assembler)是微软为x86微处理器家族开发的汇编语言开发环境。

汇编语言的组成

汇编语言由三类指令组成:

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

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

存储器

存储器:指令和数据存放的地方,我们称其为内存。没有内存,性能再好的CPU也无法工作。硬盘上的数据或程序不读到内存中,就无法被CPU使用。

【注】CPU的工作原理简述:它从存储器(内存)或高速缓冲存储器中取出指令(fetch),放入指令寄存器(IR,Instruction Register),并对指令译码(decode),进而执行(execute),最终写回(Writeback)。总结起来就是:取指—>译码—>执行—>写回。

指令和数据

在内存和磁盘上,指令和数据没有任何区别,都是二进制信息。CPU在工作的时候把有得信息看做指令,有得信息看作数据,为同样的数据赋予了不用的意义。

例如:内存中的二进制信息1000100111011000
计算机可以把它当做数据处理:89D8H
指令处理:mov ax,bx

扫描二维码关注公众号,回复: 3300840 查看本文章

【注】:89D8H,这是一个十六进制编码的数。H表示十六进制。
如果十六进制以字母打头,前面要加0,比如0E325H,强调这是数字。如果前面不加0,汇编编译器还以为这是个变量。

存储单元

存储器(内存)被划分为若干个存储单元,每个存储单元从0开始顺序编号。每个存储单元能存储一个字节。微机存储的容量是以字节为最小单位来计算的。

CPU对存储器的读写

CPU要从内存中读数据,首先要指定存储单元的地址。CPU在读写数据时还要指明,它要对哪一个器件(例如:存储器)进行操作,进行哪种操作,是从中读出数据,还是向里面写入数据。

汇编指令:MOV AX,BX
【注】BX- the base address register:基地址寄存器
AX- the accumulator register:累加寄存器
汇编指令:MOV AX,[3]
含义:将3号储存单元的内容传递给AX。

地址总线

地址总线(Address bus)宽度决定了CPU可以访问的物理地址空间。简单说就是CPU到底能够使用多大容量的内存。

数据总线

数据总线的宽度决定了CPU和外界的数据传送速度。

控制总线

控制总线的宽度决定了CPU对外部器件(例如,内存)的控制能力。

小结

  1. 汇编指令是机器指令的助记符,同机器指令一一对应。 每一种CPU都有自己的汇编指令集。 CPU可以直接使用的信息在存储器(内存)中存放。
  2. 在存储器中指令和数据没有任何区别,都是二进制信息。 存储单元从零开始顺序编号。 一个存储单元可以存储8个bit,即8位二进制数。
  3. 每个CPU芯片都有许多管脚,这些管脚和总线相连。也可以说,这些管脚引出总线。一个CPU可以引出3种总线的宽度标志了这个CPU的不同方面的性能:
  4. 地址总线的宽度决定了CPU的寻址能力; 数据总线的宽度决定了CPU与其他器件进行数据传输时的一次数据传送量;
  5. 控制总线的宽度决定了CPU对系统中其他器件的控制能力。
  6. 内存地址空间:对CPU来说,系统中所有存储器中的存储单元都处于一个统一的逻辑存储器中,它的容量受CPU寻址能力的限制。这个逻辑存储器即是我们所说的内存地址空间。

【注】在电子计算机中,一根导线可以传送的稳定状态只有两种,高电平或是低电平。用二进制表示就是1或0。

猜你喜欢

转载自blog.csdn.net/KeenCryp/article/details/82817734