什么是编程,什么是编程?( 四 )


机器语言
由于计算机内部只能接受二进制代码,因此,用二进制代码0和1描述的指令称为机器指令,全部机器指令的集合构成计算机的机器语言,用机器语言编程的程序称为目标程序 。只有目标程序才能被计算机直接识别和执行 。但是机器语言编写的程序无明显特征,难以记忆,不便阅读和书写,且依赖于具体机种,局限性很大 , 机器语言属于低级语言 。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义 。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态 。这是一件十分繁琐的工作 。编写程序花费的时间往往是实际运行时间的几十倍或几百倍 。而且,编出的程序全是些0和1的指令代码,直观性差 , 还容易出错 。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了 。
机器语言是微处理器理解和使用的,用于控制它的操作二进制代码 。
尽管机器语言好像是很复杂的,然而它是有规律的 。
存在着多至100000种机器语言的指令 。这意味着不能把这些种类全部列出来 。
以下是一些示例:
指令部份的示例
0000 代表 加载(LOAD)
0001 代表 存储(STORE)

暂存器部份的示例
0000 代表暂存器 A
0001 代表暂存器 B

存储器部份的示例
000000000000 代表地址为 0 的存储器
000000000001 代表地址为 1 的存储器
000000010000 代表地址为 16 的存储器
100000000000 代表地址为 2^11 的存储器
集成示例
0000,0000,000000010000 代表 LOAD A, 16
0000,0001,000000000001 代表 LOAD B, 1
0001,0001,000000010000 代表 STORE B, 16
0001,0001,000000000001 代表 STORE B, 1[1]
汇编语言
汇编语言的实质和机器语言是相同的 , 都是直接对硬件操作,只不过指令采用了英文缩写的标识符,更容易识别和记忆 。它同样需要编程者将每一步具体的操作用命令的形式写出来 。汇编程序的每一句指令只能对应实际操作过程中的一个很细微的动作 。例如移动、自增,因此汇编源程序一般比较冗长、复杂、容易出错,而且使用汇编语言编程需要有更多的计算机专业知识,但汇编语言的优点也是显而易见的,用汇编语言所能完成的操作不是一般高级语言所能够实现的,而且源程序经汇编生成的可执行文件不仅比较小 , 而且执行速度很快 。
汇编的hello world , 打印一句hello world, 需要写十多行,也是醉了 。
; hello.asm
section .data ;数据段声明
msg db "Hello, world!",0xA;要输出的字符串