虽然C语言已经很靠近底层了,但是在调试程序员的时候还会遇到一些无法直接解决的问题,汇编会是解决问题的最后一根稻草,曾经有个同事有事没事就喜欢研究代码到汇编层面,所以经常遇到程序员崩溃的底层问题,直接扔给他,很快就能定位到问题的关键。
做前端开发的可能对于javascript很熟悉,在复杂的页面动态交互非常多的,会导致性能的下降,JS里面复杂的运算底层从性能考虑,主要是加减乘除的运算直接采用汇编实现,所以在早期的浏览器的版本对接不同的平台,在JS引擎加速方面需要在对接汇编做很多的事情。
操作系统的bootloader,计算机系统系统在启动之前需要有个程序引导下就是这玩意,这个程序大部分的代码是汇编搞定。主要功能初始化设备,建立内存映射,在软件和硬件之间建立一个载体,这些对于了解计算机系统结构有非常大的帮助,理论上越贴近底层越容易了解其内在的运行原理。
集成电路,ic ,硬件设计应该是 fpga 用的多,verilog 语言。
汇编用在软件运行调试,最底层层,和硬件很近,也会用到汇编,但是汇编和 c 都是软件层面的东西。一般能用 c 搞定不用 汇编,汇编移植是个大问题,c 搞定不定时候才会用汇编,并且是在 c 中嵌入一个两个汇编语句就行了。
可以看看 uboot,kernel,除了开头有汇编,设置堆栈,切换psr,直接用寄存器传参,中断切换保存寄存器恢复寄存器,这些用,其他代码也不用汇编。
汇编没啥好学的,看一遍,知道有哪些指令用的时候能找到就行
个人感觉对汇编有一定的了解就可以,
除非真的感兴趣,不然不需要深入研究
集成电路设计?
你需要的不是汇编,而是VHDL