汇编语言与机器语言是一对一吗 机器语言与汇编语言有什么区别?

[更新]
·
·
分类:互联网
4601 阅读

汇编语言与机器语言是一对一吗

机器语言与汇编语言有什么区别?

机器语言与汇编语言有什么区别?

机器语言是纯粹的二进制数据表示的语言,是电脑可以真正识别的语言。汇编语言和高级语言经过编译连接最终都会变成机器语言才能被CPU识别和运行。汇编语言是以人们比较熟悉的词句直接表述CPU动作形成的语言,是最接近CPU运行原理的较为通俗的比较容易理解的语言。

为什么说汇编语言与机器语言同样十分依赖于机器硬件,移植性不好?

这个没什么好解释的,汇编语言和机器代码一一对应,不同的CPU机器代码不一样汇编指令也不一样,所以可移植性不好。

与机器语言相比汇编语言的可读性?

先说结论,与机器语言相比汇编语言的可读性如下。汇编语言是计算机语言的重要组成部分之一,因为其代码在计算机系统当中呈现出了不平衡的特性,所以,与机器语言相比,汇编语言的可读性更大。而且汇编语言所拥有的代码密度更高更密。

单片机用C语言编程很好学,为什么还要用汇编呢?

现在常见的用汇编的一些场合,往往有严格的时间要求。比如中断,特别是arm的快速中断,还比如一些对时间要求非常高的测控场合,可能要求微秒甚至纳秒级别的响应速度。这些应用在编程的时候有可能会一条指令的执行时间也会考虑。还有一些重复进行的运算函数,如果重复的次数多,又对时间有要求,那函数的执行时间又需要一条一条指令的扣。
还有一些场合,应用的cpu ,比如有些pic单片机,只有1k甚至512字节的空间,rom空间比较小,c语言优化后的编译代码,可能还是不如纯粹的汇编精简,这就需要汇编。
还有一些其他场合也是对代码空间有要求,比如linux启动的bootloader,还有PC上常见的常见文件系统mbr代码,也需要用汇编来编写。
此外对于单纯的学习来讲,汇编语言跟硬件的关系更密切,更直接,学习汇编更有利于理解单片机的结构。