这样比喻吧:一个程序员,不懂汇编的阅读和用于汇编级指令级的调试——这正如一个顶级的世界F1方程式赛车手,不懂得赛车的构造和运行,是不行的。

学Java的可能会说,Java高端的很,不懂汇编没关系——是的,你开轿车,在平整的公路上跑60码,用自动档,当然不需要知道轿车的内部结构是怎么样的,离合器的工作本质是怎么样的,在这样的基础下,你一样可以把车开得很熟练。

但有一天,你没有一切都帮你搞定的轿车了,给你一辆有问题的车,你得自己修好它,才能逃离你当下的环境——比如你在沙漠里。

你说汇编重不重要,看懂它——重不重要?学会汇编,学会的不仅是一种语言——还是学会了现代高级编程语言依赖运行的底层微机结构的原理本质。你说有什么好处?来跟我重复一遍:学会汇编,学会的不仅是一种语言——还是学会了现代高级编程语言依赖运行的底层微机结构的原理本质。

学习汇编只是基础,如果想要汇编可以有所作用,可以继续研究

并不是说必须学了汇编才能理解操作系统,而是说看问题的深度不一样。 有了汇编的保驾护航, 你可以在头脑中建立起一个有更多细节,更多实现的计算机, 那些概念不是模糊的,而是清晰的、鲜活的。

偏硬件

低级(具有一定的汇编能力,能写出基本程序,基本的8086和win32都能看得懂)

·可以修改游戏数据

·可以破解收费软件

·可以自己写外挂(一刀999级不是梦)

·机子在跑高级语言的时候可以优化分配内存

中级(可以自己编写出比较高级的程序,开始专精汇编分支的某一种比如51单片机,ARM,X86,懂得硬件基本构造和计算机逻辑电路和CPU原理)

·可以自己编写调试底层系统

·可以汇编/反汇编,可以进行病毒的编写和调试和破译

·移动端系统底层/电子产品/硬件基本系统熟练于心,可以进阶成一个真正的电子极客了。

·黑客方面可以达到入侵心脏起搏器,学校的电子屏,ATM屏幕,以及各种微电子系统,介于中级和高级之间。

·最让人头疼的内核问题可以一眼看出来问题所在并解决

·一般的汇编程序员大多数在这个水平

汇编语言好处和坏处(学习汇编语言有什么好处)(1)

高级(这一层的人就是大牛或是大牛中的大牛了,对自己所熟练的语言达到了驾轻熟就的地步,在电脑以及不同的,CPU运作方式方面达到了专家的级别)

·可以参与破解刷机各种手机系统,将手机系统玩弄于鼓掌之上的人

·参与最新智能系统的编写(智能遥感,火箭以及飞机的操作系统),优秀的汇编高级工程师

·国家网络安全局级别的大牛,类似震网病毒的破译与安全测试

·自己写出来系统在同行属于出类拔萃。

·在汇编语言方面是不可多得的优秀的人才

神仙级别(世界上万里挑一,如果出来了会是一个国家的骄傲)

·独自破解iphone,索尼,独自研究编写无人驾驶汽车系统的乔治霍期

·研究ATM机的CPU纹路走向和CPU对数据的处理方式的某黑客,,能达到破解ATM机系统对其远程操控到自动吐钞的地步(后来这个黑客被人暗杀了)

·编写出一代ios系统的老乔

·参与编写震网病毒的各路神仙。。。一次性能利用WINDOWS系统的20来个0day漏洞,程序的精巧度令人发指,几行命令抵一般人几页命令

学习汇报语言的目的不是像学习高级语言那样。汇编是底层语言,学习它本身就有利于我们进一步了解底层计算机的运行。这对计算机的学习是个很基础的要求。随着现在越来越多高级语言的发展,不可否认为我们编写提供了便利。但是汇编给我们带来的却是理解计算机。我觉得这很重要,学了汇编你才算知道了计算机是如何运转的。

学习汇编语言可以从最底层理解微机的工作原理,细微到一个状态位放在哪一个存储区,系统怎么轮询,指令和数据之间如何互动,真正把电路逻辑和代码内容衔接起来。然后再学到C,发现每一条C语言语句是这样对应汇编的指令的,有一种能洞悉这块芯片的所有秘密的感觉。

,