1、嵌入式操作系统需要汇编语言
2、实时性要求非常高的地方,需要汇编语言,比如FFT算法。有关介绍移步:STM32单片机-输入捕获、FFT测频。
3、汇编语言做运算那叫一个痛苦,下面是一段双字节乘法,浮点数就更难搞。
MUL16_16 ;RES3:RES0=ARG1H:ARG1L*ARG2H:ARG2L
MOVF ARG1L,W
MULWF ARG2L
MOVFF PRODH,RES1
MOVFF PRODL,RES0
MOVF ARG1H,W
MULWF ARG2H ;ARG1H*ARG2H->PRODH:PRODL
MOVFF PRODH,RES3
MOVFF PRODL,RES2
MOVF ARG1L,W
MULWF ARG2H ;ARG1L*ARG2H->PRODH:PRODL
MOVF PRODL,W
ADDWF RES1,F ;Add cross products
MOVF PRODH,W
ADDWFC RES2,F
CLRF WREG
ADDWFC RES3,F
MOVF ARG1H,W
MULWF ARG2L ;ARG1H*ARG2L->PRODH:PRODL
MOVF PRODL,W
ADDWF RES1,F ;Add cross products
MOVF PRODH,W
ADDWFC RES2,F
CLRF WREG
ADDWFC RES3,F
RETURN
我这里并不是鼓励一个项目全部使用汇编语言编程,比如一个3万多行代码的项目,如下图,其中function.c就已经有13763行。
全汇编的话编程难度将会剧增,也给日后修改维护带来很大的挑战。通常的做法是C语言嵌套汇编语言。
学习汇编可以更深层次的了解单片机的工作原理,了解系统是如何启动。
掌握汇编是成为底层系统工程师、牛逼工程师的必备技能。其实汇编也没有那么恐怖,也就是那十几个常用的命令,再加上配套的伪指令,基本程序结构。不必纠结要不要学习,有时间的话马上学,正所谓技不压身。
这是我早年做的一个项目,全汇编语言编写,可放心用于生产。包含汇编代码,AD原理图与PCB,有兴趣的可以拿去参考:搜索CSDN的“爱上电路设计”。
觉得不错,动动发财的小手点个赞哦!关注我,后续干货官方有提醒!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。