汇编语言学习笔记(一)
/ / 阅读耗时 5 分钟汇编语言的产生
机器语言
首先,我们了解一下机器语言,机器语言是机器指令的集合。
机器指令就是CPU可以正确执行的命令。实际上就是一列二进制数字。CPU内部将这些二进制数字转变成对应的一列高低电平,然后驱动电子器件进行运算。
CPU具体的工作原理这里就不深入的说了,感兴趣的读者可以自己搜索学习。
我们都知道CPU是一种微处理器,对于不同的微处理器由于硬件设计和结构的不同,会需要不同的电平脉冲来驱动电子器件,进行运算。所以每种处理器都有自己的机器指令集(像x86架构的CPU和ARM架构的CPU就是拥有各自的指令集),这些指令集就是机器语言。
所以,对于不同架构的CPU,可使用的机器语言也不同。
汇编语言
早期的程序设计就是用的机器语言,程序员们使用 0、1 数字进行编程。机器语言过于抽象,使用机器语言实现的代码晦涩难懂、不易查错,而且难于记忆和分辨。于是就产生了汇编语言。
汇编语言的主体是汇编指令。汇编指令和机器指令是一一对应的,可以理解成把机器指令对应成了便于记忆的书写格式。
例如:
1 | 机器指令 1000100111011000 |
程序员可以用汇编语言编写源程序,给计算机执行时,要先用编译器将程序员写的 汇编语言 编译为 机器码 ,然后才能被计算机理解并执行。
汇编语言的组成
汇编语言包括3类指令:
- 汇编指令:机器指令的助记符,对应特定的机器码
- 伪指令:没有对应的机器码,由编译器执行,计算机不执行
- 其他符号:由编译器识别,没有对应的机器码,如+、-、*、/等
其中,汇编指令是汇编语言的核心。
存储器
提供给CPU的指令和数据存放在存储器中,这里说的存储器指的是内存,与磁盘不同的是,内存中的数据是可以直接被CPU使用的。
地址总线
CPU通过地址总线来指定存储单元。
数据总线
CPU和各种器件之间是通过数据总线来传送数据的,数据总线的宽度决定了CPU和其它器件之间的数据是传送速度。
控制总线
CPU对外部器件的控制是通过控制总线实现的。控制总线是一些不同控制线的集合,有多少控制线就表示CPU提供了多少种对外部器件的控制,也就是说,控制总线的宽度决定了CPU对外部器件的控制能力。