随想录(多学一点汇编语言)


【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】 


    不知道现在计算机专业的同学还需不需要学习汇编语言?反正工作之后,大部分人好像都不太熟悉汇编语言。据我所知,汇编用的好的,不是专门做编译工具的人,就是系统测试的人员,真正可以将系统、软件、汇编整合在一起的人少之又少。


    至于为什么需要学习汇编,下面我谈谈自己的一些看法。


    1、理解汇编,可以破除大家对软件和硬件的崇拜和迷思。软件,从本质上说,就是指令加状态机。后来因为复杂度的关系,逐步引入了系统、虚拟机、数据库、业务软件、网络这些概念。但是,表现cpu本质的汇编、中断这些concept,一直没有过时。


    2、大部分软件在刚开始执行的时候,都需要执行一点点汇编代码,这个是逃不了的。为什么,因为soc上电的时候,bss要初始化,堆栈也用不了,只能用纯汇编来写了。另外,大部分的os上下文切换、任务创建、中断保护等等,这些也是需要用特定的汇编语言来编写的。


    3、优化软件离不开汇编。现在的soc需要用来处理大量的语音数据和视频数据,因此除了传统的加减乘除、浮点指令之外,很多芯片还添加了独具特色的dsp指令,合理使用这些指令,可以大大提高软件的运行能力和执行效率。


    4、解决软件根本问题的能力来自于对汇编的理解。很多同学调试软件的时候喜欢单步调试,本身这没有错。但是如果编译器本身对c代码做了大量的优化,那么很多问题不进入汇编层,根本是没有办法解决的,这个结论已经被证明了无数次。


    5、提高阅读和编写汇编的水平会让个人编写软件的能力上一个台阶。理解了汇编,你会进一步了解mmu、中断、cache、互斥、多核等很多概念,为了让自己的软件可以长时间无故障地运行,你会逼着自己用机器、cpu甚至汇编的角度去理解自己编写的代码,这在无形之中就会大大提高个人的编写能力和设计水平。


    我想说的差不多就这些,欢迎大家提宝贵意见。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式-老费

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值