单片机用C51和汇编语言写程序的区别
答案:2 悬赏:60 手机版
解决时间 2021-03-18 00:03
- 提问者网友:我们很暧昧
- 2021-03-17 10:10
要详细说明不同的地方,哪种好更
最佳答案
- 五星知识达人网友:詩光轨車
- 2021-03-17 11:40
仅仅是语言本身的区别,一个是用C语言,一个是用汇编语言
若干年前汇编相对于C语言有性能上的优势,因为每条指令与机器马直接对应,做优化容易控制些。但如今编译器越来越强大,优化的结果也越来越好,汇编这点优势就不明显了。
而C语言相对于汇编来说它的优势就在于它是高级语言,语法上更平易近人,也更易于读写,比如一个简单的加法操作:
//C语言
a = 1 + 2;
//汇编
mov eax, 1
add eax, 2
mov a, eax
你看哪个更容易读懂
若干年前汇编相对于C语言有性能上的优势,因为每条指令与机器马直接对应,做优化容易控制些。但如今编译器越来越强大,优化的结果也越来越好,汇编这点优势就不明显了。
而C语言相对于汇编来说它的优势就在于它是高级语言,语法上更平易近人,也更易于读写,比如一个简单的加法操作:
//C语言
a = 1 + 2;
//汇编
mov eax, 1
add eax, 2
mov a, eax
你看哪个更容易读懂
全部回答
- 1楼网友:像个废品
- 2021-03-17 11:47
楼上说的有理,但是即使删去ljmp main也不行,因为在中断时它把ea关了,也就不会中断了。
其实不用关ea,你把clr ea也删去就可以运行。只要你的手没有中断服务程序快就会有中断。每次按都有。你试一下在开发板上运行,应该可以的。
原因是当你外中断置低电平时,就会进入中断程序。运行完就会自动返回主程序
而你的主程序是sjmp $死循环,就是用来等待中断的。所以不用重新中断初始化。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯