本章主要讲 通过汇编语言认识程序的真面目。本章讲汇编语言到程序,那么,我们总得要知道什么是汇编语言吧?其实呢汇编语言就是(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符(Mnemonics)代替机器指令的操作码,用地址符号(Symbol)或标号(Label)代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。普遍地说,特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。(这段是从网上查找得到的,书上说的不太具体明了,但是,总要去网上查找一番吧?)
在汇编语言中,用来表示各个本机代码功能的英文缩写叫助记符,将汇编语言源代码转换成本机代码的过程叫做汇编,汇编语言源文件的扩展名是.asm和.s等。
其实汇编语言和本机代码是一一对应的,在前面几章中也提到过,计算机的CPU能够直接解释执行的只有本机代码,用其他编程写的源代码,需要使用各个编程语言相对应的编译器进行编译,转换成本机代码。即使使用汇编语言编写的源代码,最终也要转换成本机代码才能运行。用来完成这一转换的就是汇编器,在这个转换过程就称为汇编。有汇编,那顾名思义就会有反汇编,反汇编就是由可执行文件生成源代码的过程,也被我们称为逆向过程。
本书中是以C语言为例,进行讲说。在汇编语言中的指令分为两种,一种是会被转换成本机代码的一般指令,另一种是专门针对汇编器的伪指令(伪指令负责告诉汇编器程序的结构和汇编方法,因此也被称为汇编程序指令)。
汇编语言的语法是“操作码 操作数” 操作码(表示指令的动作) 操作数(表示指令的操作对象)。
从中我们还可以知道函数调用的原理,具体是怎么调用,被调用就不多说了。
不管我们使用什么编程语言,在各个语言中都有变量,也大致可分为全局和局部变量,在函数外部声明的变量称为全局变量,在函数那可不声明的变量称为局部变量。其次就是循环的原理,条件分支的原理,等等,我们就不逐一展开说了。