1、操作复杂程度的不同
c语言,与汇编语言相比,c语言在更加接近人的一般思维,因此在程序的设计过程中比较容易操作,此外在进行一些复杂的操作,运算时,c语言比汇编就要简单很多,尤其是c语言中的丰富的函数库,可以直接实现一些原本很复杂的功能,并且从代码量来说任意一个c语言程序,通过反汇编之后变成汇编语言程序,其长度都可能要增加好几倍。
2、使用范围的不同
c语言程序的事件将会只是编写汇编语言程序的几分之一,从编写程序的效率上来说c语言无疑更高,此外C语言是高级程序语言因此可移植性较好,不太受到到硬件设备的限制。
在实现一个功能时,汇编语言可以直接奔着目标去,而C语言则是给你提供了一种对于对于这种问题的普遍处理办法,不具有针对性,因此会有许多多余的在这个问题中不需要的过程,因此可能回事程序较大,运行较慢。相对与汇编语言,C语言更加适合一些较大型项目的开发。
3、运行的速度和效率不同
程序没有了汇编语言计算机直接就无法运行,因为汇编语言是基于计算机底层硬件的编程,通过它实现了对cpu,内存,硬盘以及外界设备的直接操作,因为直接所以汇编语言在程序的大小,执行的速度与效率方面几乎无可比拟,但是也是因为直接,所以汇编程序难以移植,且完成相同的操作代码量太大,在进行一些大的项目是,单独使用汇编进行编程几乎不可能实现。
参考资料来源:百度百科—汇编语言
参考资料来源:百度百科—c语言
汇编语言与C语言的区别:
1、在汇编语言中,为一个处理器编写的程序不能在另一种类型的处理器上运行。在C语言程序中,程序独立于处理器类型运行。
2、汇编语言代码的性能和准确性优于C代码。
3、C语言必须提供额外的指令来在计算机上运行代码。
4、汇编语言代码比C代码难以理解和调试。
5、 一个或两个C语言语句扩展为许多汇编语言代码。
6、汇编语言可以比C别更好地进行通信某些类型的硬件操作只能通过汇编语言执行。
7、在汇编语言中,我们可以直接读取物理地址上的指针,这在C别是不可能的。
8、在汇编语言中使用位更容易。
9、汇编程序用于在汇编语言中转换代码,而编译器用于在C编译代码。
10、C语言的可执行代码大于汇编语言代码,因此执行时间较长。
11、由于长的可执行代码,C程序的效率低于汇编语言程序。
12、与汇编程序员相比,C语言程序员不需要知道处理器中的寄存器等 硬件细节。
13、最C的语言代码首先自动转换为汇编代码。
本回答被网友采纳1、两者编译组成不同。汇编语言是将由0、1组成的机器语言用具有简单语义的英文代码表示,而C语言不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等。
2、两者被计算机识别的路径不同。汇编语言通常用于对硬件的直接操控。而且C语言所编制的程序不能直接被计算机识别,必须经过转换才能被执行。
3、两者用处不同。汇编语言通常用在程序中最核心的、控制硬件的代码,一方面是安全,另一方面提高运行速度。而C语言通常用在计算机外用功能上。
扩展资料:
汇编语言运行效率高的原因
汇编语言实质上是机器语言的助记符。 CPU只能运行它所支持的指令集,而这些指令集当中的每条指令都是一些二进制数的序列,也就是“0”和“1”的有序组合;“0”和“1”的组合不便于程序员的记忆因此有了“MOV A 0x40”等这样的助记符。
所以汇编语言编译成CPU可执行的机器语言其实只要做一个翻译的动作就好了。而C语言编写完程序后,需要通过编译器将C语言编译成与相应CPU指令集对应的机器语言。汇编语言与机器语言是一一对应的。
但是C语言,就没这么好了。C语言的语法是固定的,C语言编写的程序要编译成CPU能读懂的机器语言指令没办法一一对应,因此需要有编译规则了,所以运行效率低一些。也可以说,C语言,是面向程序员的语言,而汇编语言是直接面向CPU的语言。
参考资料来源:百度百科-c语言
参考资料来源:百度百科-汇编语言
本回答被网友采纳