打印

现在终于感觉不怕汇编了

[复制链接]
楼主: Hello_LeeHom
手机看帖
扫描二维码
随时随地手机跟帖
21
sdpz| | 2011-2-12 11:45 | 只看该作者 回帖奖励 |倒序浏览
可以看出14楼的C语言功底深厚,但要客观地分析,避免走火入魔。
语言是平等的,当你需要它的时候,它就是金子,当你不需要它的时候,它便是狗粪。

使用特权

评论回复
22
李冬发| | 2011-2-12 11:47 | 只看该作者
汇编还真的是必须会的,老不老练倒次要。

使用特权

评论回复
23
zq1987731| | 2011-2-12 11:55 | 只看该作者
To ZRL700424
    就是知道会有这类观点出现,所以我特意提到——
    “这年头汇编的唯一剩余价值也就是那些超低成本的4-bit等超廉价MCU了。

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
qqljhang + 3
24
linqing171| | 2011-2-12 12:48 | 只看该作者
卖自行车的已经不赚钱了。

使用特权

评论回复
25
zq1987731| | 2011-2-12 12:50 | 只看该作者
To sdpz
    呵呵~阁下的评论就很客观。

    事实上,之所以看不爽汇编,就是避免“重复造轮胎”的过程出现,汇编的底层代码处理器厂商绝对会大量提供,犯不着自己重写,而这部分就是所谓的“底层”,家电类的应用都很低端,512/25的大小根本就是超简单的应用,这种程度的东西一年前我就做过不少,最终发现,汇编也就只能做做小东西,玩起大的,不是说不行,但效率呢?

使用特权

评论回复
评分
参与人数 1威望 +3 收起 理由
qqljhang + 3 不过我真的很膜拜汇编,因为一些ALU检查,R.
26
china_fog| | 2011-2-12 12:54 | 只看该作者
一个从来没看过汇编,从来没做过硬件的软件人员,如果是从事嵌入式软件的,不会是一个系统概念很好的软件人员。
太多的软件人员,只要涉及到底层的,一旦板子有变化,原来的程序跑不起来了,就怪硬件设计有问题,这是因为这些软件人员真的“纯”软件了,做做上层应用不错,做底层的,几乎失去分析能力。跨国大企业里高薪的工程师里面一大堆这样的人。

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
qqljhang + 1 大企业中有完善的流程来保证不会出现这类问.
27
zq1987731| | 2011-2-12 13:22 | 只看该作者
To china_fog
    我调试板子时只用C,在线Debug或看Log,调试裸机程序根本就用不上汇编,OS层面的更用不上,反汇编向来不看,照样写嵌入式驱动,存储器映射很清楚的情况下,只要观察那几个寄存器,类似于数据线地址线没焊好这类小问题,甚至直接观察几个十六进制就一清二楚。
    另外敢于在Keil的Options中勾选Strict ANSI C选项的编码风格,我相信具备的人多不到哪去。

使用特权

评论回复
28
adam2xia| | 2011-2-12 13:29 | 只看该作者
赞一个

使用特权

评论回复
29
china_fog| | 2011-2-12 13:47 | 只看该作者
汇编是用的很少了,现在大部分人都在用C,但是汇编对于处理器的结构理解是很有帮助的。对于做算法的效率评估也是很有帮助。我不怀疑你软件做的很好。我举个例子,在51上写一个精度达到小数点后4位开方程序,我说自己写,编译器是不是可以效率如何?我想现在有很现成的高效率程序。但是你从来没有看过汇编,如何来分析提高啊你的程序效率?我毫不怀疑现在的处理器有足够的能力来达到大家用C实现任何功能,做项目做东西确实可以完全脱离汇编,完全的C。DEBUG工具可以给你看寄存器变化,调试,大家也都是这么做的。但是对于汇编的理解在碰到一些问题的时候是十分有助于深层次追究原因的。起码我经历过2次,最早在DSP上做开方程序,为了效率,我完全用汇编去做的,效果是明显了。一次是用ARM处理器的时候,碰到BUSRT的操作,由于是VALIDATION代码,要探究实质的效率,C没有办法弄出一个十分具有说服力的结论,最好用汇编来实现,测试的参数参考价值大了很多。
所以我的观点就是汇编不是没有价值,学一下汇编是有一定好处的。当然如果只是做应用,完全可以选择一个资源宽裕的处理器来实现你任何的功能。你完全可以不管处理器架构,以及处理器内部的数据流如何走的。

使用特权

评论回复
30
china_fog| | 2011-2-12 13:54 | 只看该作者
另外,确实大部分处理器厂家早就帮你做好了汇编初始化的东西,这些.S文件基本都不需要修改。但是如果要你去写呢?怎么办呢?最底层的初始化一样要有人去做。很多计算机毕业的科班生,开始就是学的高级语言,然后学习OS,然后写应用,然后做驱动。没错,很多处理器出来,厂家早就给你提供了BSP包。那么写BSP的人是谁呢?看看我们用的那么多处理器,厂家提供的代码里面几乎都有用到汇编,不少有汇编C混合的代码。我不强调汇编要精通,但是我觉得有必要了解,知道咋回事,对于优秀的软件硬件工程师同样都需要。

使用特权

评论回复
评分
参与人数 1威望 +2 收起 理由
qqljhang + 2
31
ZRL700424| | 2011-2-12 13:57 | 只看该作者
To ZRL700424
    就是知道会有这类观点出现,所以我特意提到——
    “这年头汇编的唯一剩余价值也就是那些超低成本的4-bit等超廉价MCU了。”
zq1987731 发表于 2011-2-12 11:55


我说的单片机没有一个是4bit MCU,都是8位的。

使用特权

评论回复
32
zq1987731| | 2011-2-12 14:02 | 只看该作者
这年头汇编的唯一剩余价值也就是那些超低成本的4-bit等超廉价MCU了。

使用特权

评论回复
33
雪山飞狐D| | 2011-2-12 14:12 | 只看该作者
本帖最后由 雪山飞狐D 于 2011-2-12 14:20 编辑

最近在看《深入理解计算机系统》

人家世界顶级牛人都是先列出C,然后转为C的GOTO语句,在翻译成汇编,这样子来教计算机体系

这样更科学,其中道理自己体会把

使用特权

评论回复
34
btiger2000| | 2011-2-12 14:22 | 只看该作者
好像又在争论汇编、C,孰优孰劣了。

使用特权

评论回复
35
huangqi412| | 2011-2-12 14:49 | 只看该作者
月经贴还在,说明汇编还活着。

使用特权

评论回复
36
zq1987731| | 2011-2-12 14:53 | 只看该作者
To 雪山飞狐D
    “计算机体系”这门课本就是玩CPU设计的必修课,当然要涉及汇编,而且相当重要。但这边玩单片机的人,搞这方面的能有几个?
    我从实用角度出发结合现阶段的形式得出的结论主要是——C比汇编更适合现阶段的项目研发。

使用特权

评论回复
37
china_fog| | 2011-2-12 14:54 | 只看该作者
“C比汇编更适合现阶段的项目研发”
这句话没错

使用特权

评论回复
38
雪山飞狐D| | 2011-2-12 14:59 | 只看该作者
本帖最后由 雪山飞狐D 于 2011-2-12 15:08 编辑
To 雪山飞狐D
    “计算机体系”这门课本就是玩CPU设计的必修课,当然要涉及汇编,而且相当重要。但这边玩单片机的人,搞这方面的能有几个?
    我从实用角度出发结合现阶段的形式得出的结论主要是——C比汇编更适 ...
zq1987731 发表于 2011-2-12 14:53


那本书是给软件工程师用的,看英文原书名 Computer Systems: A Programmer's Perspective ,并且还是初级导论性质,这个就是差距,当你们还在争论汇编于C,人家已经到内核了,多线程了,集群了

严格说,沉迷于汇编并以此炫耀确实很没必要

使用特权

评论回复
39
china_fog| | 2011-2-12 15:09 | 只看该作者
大概做项目的没有什么人沉迷于汇编,更没有谁说这个可炫耀。

使用特权

评论回复
40
程序匠人| | 2011-2-12 15:13 | 只看该作者
14楼,观点鲜明,言辞犀利,有理有据,有礼有节,原创帖子,打字辛苦,综合考虑,授“精”一次!

使用特权

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

本版积分规则