四时宝库

程序员的知识宝库

汇编语言还有必要学习吗(汇编语言好学吗?)

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

2、实时性要求非常高的地方,需要汇编语言,比如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搜索“爱上电路设计”。



发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接