机器语言
机器语言(machinelanguage)是一种指令集的体系。这种指令集,称机器码(machinecode),是 CPU可直接解读的数据。机器码有时也被称为原生码(NativeCode),这个名词比较强调某种编程语言或库,它与运行平台相关的部份。
机器语言是用 二进制代码 表示的计算机能直接识别和执行的一种机器指令的集合。它是计算机的设计者通过计算机的硬件结构赋予计算机的操作功能。
一种cpu的指令系统,也称cpu的机器语言。它是该cpu可以识别的一组由 0和1 序列构成的指令码。用机器语言编程序,就是从实用的cpu的指令系统中挑选合适的指令,组成一个指令系列。
一条指令就是机器语言的一个语句,它是一组有意义的二进制代码,指令的基本格式如,操作码字段和地址码字段,其中操作码指明了指令的操作性质及功能,地址码则给出了操作数或操作数的地址。
用机器语言编写程序,编程人员要首先熟记所用计算机的全部指令代码和代码的涵义。手编程序时,程序员得自己处理每条指令和每一数据的存储分配和输入输出,还得记住编程过程中每步所使用的工作单元处在何种状态。这是一件十分繁琐的工作。编写程序花费的时间往往是实际运行时间的几十倍或几百倍。而且,编出的程序全是些0和1的指令代码,直观性差,还容易出错。除了计算机生产厂家的专业人员外,绝大多数的程序员已经不再去学习机器语言了。
汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的 低级语言,亦称为符号语言。在汇编语言中,用 助记符 代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
汇编语言, 即第二代计算机语言,用一些 容易理解和记忆的字母,单词来代替一个特定的指令,比如:用“ADD”代表数字逻辑上的加减,“ MOV”代表数据传递等等。
通过这种方法,人们很容易去 阅读已经完成的程序 或者 理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便。
计算机的硬件 不认识字母符号,这时候就需要一个 专门的程序 把这些字符变成计算机能够识别的二进制数。
因为汇编语言只是将机器语言做了简单编译,所以并没有根本上解决机器语言的特定性,所以 汇编语言 和 机器自身的编程环境息息相关,推广和移植很难,但是还是保持了机器语言优秀的执行效率,因为他的可阅读性和简便性,汇编语言到现在依然是常用的编程语言之一。
汇编语言不像其他大多数的程序设计语言一样被广泛用于程序设计。在今天的实际应用中,它通常被应用在底层,硬件操作 和 高要求的程序优化的场合。驱动程序、嵌入式操作系统 和 实时运行程序都需要汇编语言。



