机器指令
早期的程序设计均使用机器语言。程序员们将用0, 1数字编成的程序代码打在纸带或卡片上,1打孔,0不打孔,再将程序通过纸带机或卡片机输入计算机,进行运算。这样的机器语言由纯粹的0和1构成,十分复杂,不方便阅读和修改,非常容易产生错误。
汇编
汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。
操作:寄存器BX的内容送到AX中
1000100111011000 机器指令
mov ax,bx 汇编指令
程序员们就用汇编指令编写源程序。可是计算机能读懂的只有机器指令,那么如何让计算机执行程序员用汇编指令编写的程序呢?这时,就需要有一个能够将汇编指令转换成机器指令的翻译程序,这样的程序我们称其为编译器。程序员用汇编语言写出源程序,再用汇编编译器将其编译为机器码,由计算机最终执行。
编译器
GAS即GNU AS汇编编译器,其属于AT&T风格,我们常用的GNU的产品还有GCC/G++
NASM是Linux平台下常用的汇编编译器,是intel风格的汇编编译器,更重要的是免费开源的软件
MASM是Windows平台下的汇编编译器,也使用Intel风格
笔者对开源软件也是情有独钟!