Keil C51用C写单片机程序能不能像汇编那样跳转到任意地方?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Keil C51用C写单片机程序能不能像汇编那样跳转到任意地方?相关的知识,希望对你有一定的参考价值。

楼上说得对,
C51
语言在算法上,逻辑关系上,的确比汇编优秀得多,也容易看明白,C51程序的设计,不管是在硬件上,还是在软件上,个人建议都采用统一的
模块化设计
,这样在调试和修改,维护上都方便得多,主程序一般都是由多个子函数构成,什么时候需要直接调用就行了,比起汇编在调用的地址范围上的限制,要人行化得多。所以,你说,能不能汇编那样,跳到任意地方,其实,确切的说,不是跳到任何地方,是我程序在哪个地方需要什么功能,直接去调用相关功能的
子程序
就行了。而不是像汇编那样用LCALL,ACALL等指今。
当然C语言里面有一条语句,GOTO,它可以跳到你和程序的任何地方,但建议一般不这样用,会打破你的模块化设计结构。如果你非要用,建议只用在子程序里面,而且跳转地址也只在该子程序里。不要在主程序中用此语句。
祝你好运
参考技术A 可以!但最好不要这样用,也没有谁会这样用。你需要什么子程序就调用什么子程序就行了,不要用GOTO去跳转。这样会跳乱的。 参考技术B 你虽然写了void
one(void);
void
delay10ms(unsigned
int
c);
这两个函数,但是你在主函数里么有使用它们,所以会警告,你如果这样就不会啦
void
main(void)

two();
delay10ms(12);
one();

望悬赏啊

以上是关于Keil C51用C写单片机程序能不能像汇编那样跳转到任意地方?的主要内容,如果未能解决你的问题,请参考以下文章

keil mdk 启动程序(汇编语言写的)仿真时没法跟踪。 怎样让它自动跟踪代码? 像C语言一样

keil C51中函数调用无法正确返回怎么回事

keil c51与keil mdk区别

单片机Keil C51 C语言多文件如何使用全局位变量?跪拜!!

51单片机c语言中断函数不能进行参数传递,是啥意思,谁能解释一下

怎么在51单片机中读取文件 如何在Keil C51使用fopen函数 也就是如何在C51中编写 能打开文件程序