2、实时性要求非常高的地方,需要汇编语言,比如FFT算法。
3、汇编语言做运算那叫一个痛苦,下面是一段双字节乘法,浮点数就更难搞。
MUL16_16 ;RES3:RES0=ARG1HARG2LMOVF ARG1L,WMULWF ARG2LMOVFF PRODH,RES1MOVFF PRODL,RES0MOVF ARG1H,WMULWF ARG2H ;ARG1H*ARG2H->PRODH:PRODLMOVFF PRODH,RES3MOVFF PRODL,RES2MOVF ARG1L,WMULWF ARG2H ;ARG1L*ARG2H->PRODH:PRODLMOVF PRODL,WADDWF RES1,F ;Add cross productsMOVF PRODH,WADDWFC RES2,FCLRF WREGADDWFC RES3,FMOVF ARG1H,WMULWF ARG2L ;ARG1H*ARG2L->PRODH:PRODLMOVF PRODL,WADDWF RES1,F ;Add cross productsMOVF PRODH,WADDWFC RES2,FCLRF WREGADDWFC RES3,FRETURN
我这里并不是鼓励一个项目全部使用汇编语言编程,比如一个3万多行代码的项目,如下图,其中function.c就已经有13763行。

全汇编的话编程难度将会剧增,也给日后修改维护带来很大的挑战。通常的做法是C语言嵌套汇编语言。
学习汇编可以更深层次的了解单片机的工作原理,了解系统是如何启动的。

掌握汇编是成为底层系统工程师、牛逼工程师的必备技能。其实汇编也没有那么恐怖,也就是那十几个常用的命令,再加上配套的伪指令,基本程序结构。不必纠结要不要学习,有时间的话马上学,正所谓技不压身。

这是我早年做的一个项目,全汇编语言编写。光点红外线光幕完整项目,本人曾经拓展到34光点。



路漫漫其修远兮,吾将上下而求索。觉得不错,动动发财的小手点个赞哦!
审核编辑 黄宇
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
汇编语言
+关注
关注
14文章
413浏览量
39512
发布评论请先 登录
相关推荐
热点推荐
在Keil中进行C代码与汇编代码的混合编程
,#1 B LOOPLOOP_END NOP END
2. 在寄存器中传递参数现在这里有一个 C 语言函数,一个在汇编语言中定义的函数 Init(),如果要使用在 C 语言函数中使用参数列表将参数传递
发表于 01-23 06:36
C语言主要特点
。
5.语法限制不太严格,程序设计自由度大。
6.C语言允许直接访问物理地址,能进行位(bit)操作,能够实现汇编语言的大部分功能,可以直接对硬件进行操作。因此C语言即具有高级语言的功
发表于 01-05 07:41
汇编语言的起源
一、汇编语言是什么?
我们知道,CPU 只负责计算,本身不具备智能。你输入一条指令(instruction),它就运行一次,然后停下来,等待下一条指令。
这些指令都是二进制的,称为操作码
发表于 11-20 07:19
汇编寄存器的知识
学习汇编语言,首先必须了解两个知识点:寄存器和内存模型。
先来看寄存器。CPU 本身只负责运算,不负责储存数据。数据一般都储存在内存之中,CPU 要用的时候就去内存读写数据。
但是,CPU
发表于 11-20 06:45
C语言和单片机C语言有什么差异
汇编语言机器才能读懂,所以每个平台的编译器编译成对应平台汇编的程序,每个平台的汇编不一样,当然编译器也不一样。 DOS上的TC2 TC3 WINDOWS上的VC 8051的C51都有自已的编译器。具体
发表于 11-14 07:55
RVMCU课堂「7」: 手把手教你玩转RVSTAR—汇编程序篇
相对于抽象层次更高的C/C++语言,汇编语言是一门抽象层次比较低的语言,面向的是最底层的硬件,直接使用处理器的基本指令。虽然现在大多数的程序设计已经不再使用汇编语言,但是在一些特殊的场
发表于 10-31 08:46
RISC-V的工具链GCC内联汇编
\", \"r2\"
);
总结
汇编语言抽象层次低,但程序编写难度大。我们在实际工程编写中可以去阅读完整的GNU汇编语法手册,里面有语法介绍可以进行学习与借鉴。
发表于 10-30 06:59
通过内联汇编调用乘法指令mulh\\mulhsu\\mulhu
1.蜂鸟E203内核支持的乘法指令有四种(不含融合指令),分别为mul、mulh、mulhu与mulhsu。它们的汇编语言格式如下:
mulrd,rs1, rs2
将两个32位整数相乘,取低
发表于 10-24 06:52
单片机原理及应用
和定时器等内部功能单元的应用技术、并行接口和串行接口的扩展方法,以及 Keil 软件和 Proteus 软件联合调试的方法等。书中大部分例题具有汇编语言和C51 语言的双语对照程序,便于读者选择学习。
获取完整文档资料可下
发表于 06-16 16:58
基于汇编语言的数字时钟
发表于 06-03 15:49
汇编语言还有必要学习吗
评论