打印
[程序源码]

C语言转汇编问题

[复制链接]
1859|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
crazy2012|  楼主 | 2013-8-24 17:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在用汇编写程序,之前用C比较多,感觉汇编麻烦,比如要做个多字节的除法z=x/y用汇编要写除法子程序,这样太麻烦了,虽说51自带div硬件指令,但是由于多字节除法还得封装下。怎样才能快速的转变过来呢。不想浪费时间鼓捣出来一个子程序,太耽误时间了。有人说用C写算法,然后看生成的Src,找出汇编修改拿来直接用,我看了下,发现里面的东西只是给出了程序的入口出口参数,还得看汇编窗口,汇编窗口又是跳跳的,晕啊。

相关帖子

沙发
aimie| | 2013-8-24 18:12 | 只看该作者
很少见 C转汇编的。。。都是汇编转C 的  

使用特权

评论回复
板凳
NE5532| | 2013-8-24 18:38 | 只看该作者
运算和数据类型复杂的,用C处理,硬件相关紧密的,速度至上的,用汇编处理,2手抓,才硬。

使用特权

评论回复
地板
crazy2012|  楼主 | 2013-8-24 20:34 | 只看该作者
NE5532 发表于 2013-8-24 18:38
运算和数据类型复杂的,用C处理,硬件相关紧密的,速度至上的,用汇编处理,2手抓,才硬。 ...

是啊,我之前一直用C的,最近遇到一个项目,对速度要求很高,需要用汇编,我自认为对单片机内部构造挺了解的,当时学习单片机的时候只是简单的认识了下指令集的功能,没有写过汇编。一直用C现在这个项目猛地让我用汇编对里面的跳啊跳啊这些我都能看懂,就是让我写思路肯定好慢,不就是凑功能吗。今天做的这个其实也不复杂,里面需要做除法,虽然51里面有DIV命令。但是对于多字节的除法还得自己这个程序,晕死了。这个东西让我用C早都做完了,改用汇编,看了一天命令,烦死了。看来还得需要时间来熟悉。

使用特权

评论回复
5
crazy2012|  楼主 | 2013-8-24 20:39 | 只看该作者
NE5532 发表于 2013-8-24 18:38
运算和数据类型复杂的,用C处理,硬件相关紧密的,速度至上的,用汇编处理,2手抓,才硬。 ...

是啊,我之前一直用C的,最近遇到一个项目,对速度要求很高,需要用汇编,我自认为对单片机内部构造挺了解的,当时学习单片机的时候只是简单的认识了下指令集的功能,没有写过汇编。一直用C现在这个项目猛地让我用汇编对里面的跳啊跳啊这些我都能看懂,就是让我写思路肯定好慢,不就是凑功能吗。今天做的这个其实也不复杂,里面需要做除法,虽然51里面有DIV命令。但是对于多字节的除法还得自己这个程序,晕死了。这个东西让我用C早都做完了,改用汇编,看了一天命令,烦死了。看来还得需要时间来熟悉。

使用特权

评论回复
6
NE5532| | 2013-8-24 20:42 | 只看该作者
汇编比C更考规范性和技巧,能从规划上省掉的就省掉,比如除法最好不做,你还用的是51,有硬件除法器嘛,我们用的PIC16连除法器都没有,不是更抓狂。

使用特权

评论回复
7
DownCloud| | 2013-8-25 04:03 | 只看该作者
51汇编还是比较easy的啦

使用特权

评论回复
8
呆板书生| | 2013-8-25 09:12 | 只看该作者
最好是用混合编程,

使用特权

评论回复
9
罗工2013| | 2013-9-7 08:58 | 只看该作者
用汇编效率高,速度快。

使用特权

评论回复
10
kingxw| | 2013-9-13 09:22 | 只看该作者
汇编最直接

使用特权

评论回复
11
受不了了| | 2013-9-13 12:12 | 只看该作者
根据楼主的发言,你用汇编写的程序很可能还不如C写出来的运行速度快。那些数**算就不要去弄明白汇编是怎么运行的,比如浮点数的运算,用C可能一句话解决了,可汇编需要来回倒腾几百句,估计就没有几个人能看明白

使用特权

评论回复
12
huang1007| | 2013-9-14 17:03 | 只看该作者
要是对汇编不熟悉的话,空拍很难超过C编译器的效率吧.我一般也就是看看C编译器产生的汇编代码,然后修改C代码来看看能不能达到优化的目的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

150

主题

939

帖子

9

粉丝