汇编对应CPU指令集,写汇编你得熟读CPU的datasheet,熟悉寄存器中断内存寻址。
像X86这种复杂指令集,看datasheet就得花很长时间,用汇编写程序是要吐血的。C语言则把硬件层抽象出来,放进编译器,我们只需要操作内存寻址和数据运算,大大减轻了程序员们的劳动强度。正因为C语言剥离了硬件层,使得它具备了跨平台的特性,使用不同的编译器,就能让程序在不同的CPU上运行。但C语言并不是万能的,一些对寄存器的操作,还得借助汇编。比如系统引导切换到32位保护模式,BIOS中断初始化操作。那么总结一下,C语言的优点就有两个:
1、剥离硬件层,降低编程门槛。
2、可轻易跨平台移植。