V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
laomutuo
V2EX  ›  程序员

现在还有人学汇编么?

  •  
  •   laomutuo · 2015-02-03 08:17:19 +08:00 · 18983 次点击
    这是一个创建于 3583 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学了汇编能干啥?
    高级语言都学不过来了,各种框架啥的,这年头还有人学汇编语言么?
    为何学它?

    亲们,给偶个学汇编的理由吧:)

    131 条回复    2015-03-18 10:52:22 +08:00
    1  2  
    fkue0487
        101
    fkue0487  
       2015-02-03 21:54:34 +08:00
    那么问题来了。汇编教程哪家强
    wezzard
        102
    wezzard  
       2015-02-03 22:00:00 +08:00
    @fkue0487 The Art of Assembly Language
    miniwade514
        103
    miniwade514  
       2015-02-03 22:24:04 +08:00
    大学生
    tonynothing
        104
    tonynothing  
       2015-02-03 22:33:04 +08:00
    搞编译器
    inevermore
        105
    inevermore  
       2015-02-03 22:33:45 +08:00
    做服务器编程还是需要的吧
    很多框架对性能要求高了,都可以用汇编优化,G++自带的STL貌似也使用了汇编进行优化
    msg7086
        106
    msg7086  
       2015-02-03 23:36:09 +08:00
    汇编可以不学,但是一定要懂。

    我的意思是,你可以不把汇编当做一门编程语言来学,毕竟用汇编写程序是少数;但是一定要当成一种基础知识来搞懂,至少知道CPU是怎么回事,指令是怎么回事,寄存器有哪些,内存怎么访问,等等。
    Tianqi
        107
    Tianqi  
       2015-02-03 23:49:48 +08:00
    @msg7086 +1,不懂汇编没法学CPU
    Delbert
        108
    Delbert  
       2015-02-03 23:50:48 +08:00
    我想说,只要和计算机相关专业都在学校里面学了吧?这个是必修课啊!
    Delbert
        109
    Delbert  
       2015-02-03 23:51:32 +08:00
    @msg7086 必修课,不学没学分无法拿到学位……
    msg7086
        110
    msg7086  
       2015-02-03 23:53:41 +08:00
    @Delbert 修课和学习知识又是两回事。
    我Java课修完过了,但是没学Java。这不影响啊……(死

    x86汇编我是初中学的,再后来修CPU课的时候又学了一下MIPS的汇编。
    基本都是带过,没打算拿汇编来干活的。
    Tianqi
        111
    Tianqi  
       2015-02-03 23:54:21 +08:00
    @xieyudi1990 现在CPU进化的趋势不是,RISC向CISC,而CISC向RISC进化么,纯RISC是缺乏远见的(CSAPP上这么说的)
    Delbert
        112
    Delbert  
       2015-02-04 00:00:53 +08:00
    @msg7086 不明白你的逻辑。
    如果你一点Java都不懂你怎么通过的考试啊?只要你选了这门课就说明要学习了吧?即便没有上课学,至少也会为了应付考试自学的吧?
    如果考试是直接拿着别人卷子,把除了名字之外的内容完全抄袭,这样才可以说没写过的吧……
    除了上面这种情况,应该都属于学过吧?
    lightening
        113
    lightening  
       2015-02-04 00:01:00 +08:00
    @wezzard 那本书是讲 HLA 的,不是一般意义上的汇编。
    lightening
        114
    lightening  
       2015-02-04 00:02:00 +08:00
    总有人需要学的,以前做数字集成电路设计的时候要用。
    msg7086
        115
    msg7086  
       2015-02-04 00:03:39 +08:00
    @Delbert
    我会C#。
    所以考试基本上可以用C#的知识过,剩下的只要了解一下Java与C#的差异就好了。
    这样应该不算学会了Java吧,至少我现在完全不会用Java写程序就是了。
    你要说「学过」嘛,当然也算是学过……
    Delbert
        116
    Delbert  
       2015-02-04 00:06:29 +08:00
    @msg7086 我觉得你的意思是不是“系统性”的学习?
    但是对你“修课”不等于“学习”还是不理解。
    举个例子,上了一个学期英文课,但是我连abc都不认识,只能说明没学会,而不代表没学习。
    个人认为,学了不一定会,但会一定是学过。知识没有“遗传”这么一说的吧?
    Delbert
        117
    Delbert  
       2015-02-04 00:09:22 +08:00
    @msg7086 看出来了,咱俩对题主问题理解不一样。
    你的理解是掌握,学会。
    我的理解是有学习这个动作,不管是主动还是被动。
    呃,理解不同。
    xieyudi1990
        118
    xieyudi1990  
       2015-02-04 00:12:42 +08:00 via iPhone
    @Tianqi 纯RISC不存在. ARM也不能算.
    但是对于单片机来说, 保持架构简单很重要.
    xieyudi1990
        119
    xieyudi1990  
       2015-02-04 00:17:33 +08:00 via iPhone
    @Tianqi 现代的CPU纠结指令集是没必要. 那点微码算什么呢? 况且寄存器早就rename了.

    但是: 单片机不是现代CPU.
    xieyudi1990
        120
    xieyudi1990  
       2015-02-04 00:26:38 +08:00 via iPhone
    @Tianqi 汇编仍然算软件, 通过学汇编来学CPU应该算是隔靴搔痒吧.
    CSAPP的"APP"就是这个意思. 想学CPU推荐你看Hennessy, Patterson的那两本书, 作者是谁你可以查查. (不过有CSAPP的基础, 直接看CAAQA也行. CSAPP是本好书, 可惜只看了一半左右)
    msg7086
        121
    msg7086  
       2015-02-04 00:48:33 +08:00
    @Delbert 嗯嘛就是这个意思w
    0bit
        122
    0bit  
       2015-02-04 07:33:54 +08:00
    这种讨论很容易政治不正确。肯定会有人说『汇编一定要懂』、『数学一定要学好』、『各种常用算法和数据结构要能倒着写实现』,假如你说你工作几年都没用过相关知识的话,那么对方只要说一句『那是因为你工作内容太浅显,还没到那个程度』,就能让你没话说。

    我不否认学好基础有利无害,但是人生苦短,假如你已经决定成为一个Web前端工程师的话,那么我看不出来为啥要再花几个月时间学汇编。
    bigezhang
        123
    bigezhang  
       2015-02-04 09:14:18 +08:00
    大学里还学吧。
    magicsilence
        124
    magicsilence  
       2015-02-04 10:31:03 +08:00
    破解。 有时IDA的F5也不是那么好用的
    xohozu
        125
    xohozu  
       2015-02-04 13:57:05 +08:00
    大学生课程设计 https://github.com/xohozu/aEditor
    zenliver
        126
    zenliver  
       2015-02-04 18:19:42 +08:00
    不一定用到,但还是需要理解的, 内功
    laomutuo
        127
    laomutuo  
    OP
       2015-02-05 05:39:34 +08:00
    @magicsilence 你用ida破解过什么软件呢?
    Tianqi
        128
    Tianqi  
       2015-02-07 09:19:34 +08:00 via iPhone
    @xieyudi1990 哦,单片机这个才知道。
    Tianqi
        129
    Tianqi  
       2015-02-07 09:22:37 +08:00 via iPhone
    @xieyudi1990 你说的那本书我也听说过,似乎Amazon(.com)上的评价不太好啊,尤其是4、5版
    xieyudi1990
        130
    xieyudi1990  
       2015-02-08 01:38:20 +08:00
    @Tianqi
    不过那本书算是组成原理的必读书籍. 作者是Standord现任院长, MIPS是他带头的, 算是处理器设计的一手资料.
    另一个作者参与过RAID的开发.

    不过那些Amazon上写评价的, 很多都是因为基础不行读不懂在那发牢骚. 虽然语言组织的是有些问题, 但是书里满满的干货, 比CSAPP那种泛泛而谈要强.

    http://en.wikipedia.org/wiki/John_L._Hennessy
    ioth
        131
    ioth  
       2015-03-18 10:52:22 +08:00
    @laomutuo 不搞硬件,一般用不上。
    不过如果只是直接有用才学,那全世界只要1万个专科生就够了。
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3429 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 11:36 · PVG 19:36 · LAX 03:36 · JFK 06:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.