前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >汇编语言还有必要学习吗

汇编语言还有必要学习吗

原创
作者头像
爱上电路设计
修改2023-09-07 15:44:59
2070
修改2023-09-07 15:44:59
举报
文章被收录于专栏:爱上电路设计

​1、嵌入式操作系统需要汇编语言

2、实时性要求非常高的地方,需要汇编语言,比如FFT算法。有关介绍移步:STM32单片机-输入捕获、FFT测频

3、汇编语言做运算那叫一个痛苦,下面是一段双字节乘法,浮点数就更难搞。

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档