从事计算机科学方面的工作,汇编语言是我们必不可少的基础。我们的工作平台、研究对象都是机器,而汇编语言是我们和计算机沟通的最直接方式,它描述了机器最终所要执行的指令序列。学习汇编语言可以让我们充分获得底层编程的体验,深刻理解机器运行程序的机理。
计算机从本质上来讲,就是中央处理器(CPU)连接一堆外设。CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想CPU工作就必须提供指令和数据。这些指令和数据在存储器(严格来说应该是逻辑存储器)中存放,也就是平台我们所说的内存。指令和数据是应用上的概念,在内存或磁盘上,它们没有区别都是二进制信息。CPU在工作的时候把有的信息看作指令,有的信息看作数据,为同样的信息赋予了不同的意义。只要CPU一加电,它就从预设的地址开始一直执行下去。在执行程序的时候CPU是从CS:IP指向的某个地址开始,自动向下读取指令执行。CPU读取的指令就是机器语言。
机器语言是机器指令的集合。机器指令就是一台机器可以正确执行的命令。电子计算机的机器指令是一列二进制数字。计算机将之转变成一列高低电平,从而使计算机的电子器件受到驱动,进行运算。由于机器指令难于辨别和记忆,给整个产业的发展带来了障碍,于是汇编语言产生了。汇编语言的主体是汇编指令,汇编指令和机器指令是一一对应的,汇编指令是机器指令便于记忆的书写格式。
汇编语言的核心是汇编指令,它决定了汇编语言的特性。
汇编语言主要由3类指令组成。
汇编指令:机器码的助记符,有对应的机器码。
伪指令:没有对应的机器码,由编译器执行,计算机并不执行。
其他符号:如+、-、*、/等,由编译器识别,没有对应的机器码。
1. [ASM] 基础概念
2. [ASM]汇编常用指令
3. [ASM]中断过程
4. [ASM]计算机开机运行
5. 程序分析
Learn ASM Note--ABeen.pdf
参考资料:《汇编语言第二版》王爽