您的位置 首页 应用

单片机C与汇编自在转化

①keil3现在流行一种怪毛病,就是安装了keil后用不了,那么那里出了问题?用这样的注册机,要把keil软件里的ID好考过来覆盖上面的00000-000…

keil3现在盛行一种怪缺点,便是安装了keil后用不了,那么那里出了问题?

用这样的注册机,要把keil软件里的ID好考过来掩盖上面的00000-000000,再生成注册码就能用了。

②在KILE软件的菜单中,挑选Project–>Options for Target Target 1,–>Listing挑选Assembly code就能出产*.LST文件。在LST文件中就有出产的汇编代码。假如便于直观检查,在调试时,挑选Disassembly能够单步调试擦看C–>汇编的转化。

③C转汇编的实践进程是,C—>汇编,C—>HEX—>汇编,后边的这个叫反汇编。再有了LST,那么怎么转呢?

1、汇编和C言语都相同,一般都是程序模块化写程序,那么汇编和C都依照模块化转过来。

2、留意不要仓库溢出,比方CALL不要用得过多,多增加jmp跳转。

3、修正结束后,留意时刻的匹配、留意代码书写的优化。

4、假如是改为不同芯片的运用,P%&&&&&%<--->51、AVR<--->51、430<---->51等候都要留意汇编指令功用类似,可是格局有变,细心修正重复运转几回方能得到抱负作用。

5、综上,C<--->汇编,不管你是正转仍是回转,你有必要对要转成的言语十分了解,实践上你懂原理,基本上都能重写一遍,仅仅经过这样的转化,能极大地进步功率,修修正改就完事。

④C言语调用汇编子程序,把汇编句子嵌入C代码中,或把汇编封装起来。按如下设置:

1、在Project Workspace中右键.c文件,并写勾选OptionsforFile中的两项,Generate Assembler SRC File和Assemble SRC File(勾选后成实线勾)

2、代码书写有这样两种格局:(仿真时在.src文件中咱们能看到全体编译后的汇编)

#pragma ASM
MOV A, #0xAA
MOV P1, A
#pragma ENDASM

或许

__asm MOV A, #0x33

__asm MOV P2, A

3、若要把汇编直接改为C这个没办法,只能按汇编句子逐渐用C修正,把寄存器的位装备好,时刻到达要求,按汇编的时序改就简略可靠了。

4、关于ARM你就自认倒霉吧,动不动就用C直接调用汇编子程序(为了功率)。尽量别把底层汇编改了。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/275111.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部