学了汇编能干啥?
高级语言都学不过来了,各种框架啥的,这年头还有人学汇编语言么?
为何学它?
亲们,给偶个学汇编的理由吧:)
学了汇编能干啥?
高级语言都学不过来了,各种框架啥的,这年头还有人学汇编语言么?
为何学它?
亲们,给偶个学汇编的理由吧:)
|
way2exlurenFeb 3, 2015 via Android
1
写c程序,有时候要内嵌汇编。恶意代码分析的时候要反汇编看汇编代码。还是c有时候bug不好找,会看生成的汇编代码
|
|
codegearFeb 3, 2015 via Android
2
逆向工程不得不看汇编
|
|
bluecubicFeb 3, 2015 via iPhone
3
年代久远的嵌入式设备
|
|
PanicFeb 3, 2015
5
https://www.google.co.jp/search?q=site:v2ex.com/t+%E5%B5%8C%E5%85%A5%E5%BC%8F&qscrl=1&gws_rd=cr,ssl&ei=vhfQVMXlOIjf8AW6toGwCg
上面的至少 30% 需要汇编把。不过现在汇编应该主要作为一种工具吧, 不到万不得已不会有谁想用的。 |
|
boobooFeb 3, 2015
6
图像算法优化的时候也是需要汇编的。
|
|
sbboyFeb 3, 2015
7
我有一朋友学汇编是为了泡妞
|
|
exch4ngeFeb 3, 2015
10
学校学的8位还是16位汇编,学完了搞搞历史悠久的硬件还是可以的,也有助于理解计算机怎么运行的。
工作上能用到的汇编,除了某些搞硬件的接触(现在大部分都是高级语言了)外,像楼上说的搞逆向工程,病毒分析,漏洞挖掘,还有想把某些代码变高效用内嵌汇编,Debug时看汇编,搞内核方面也用到汇编等等。 如果对底层没兴趣,也不会在这方面研究或就职,那就不用看了。 现在各种语言与框架确实很多,但有些经典的语言或框架,你学会了之后即使以后不用,也对你有很大的帮助,多学学无害处。 |
|
exch4ngeFeb 3, 2015
11
哦,貌似一些3D渲染中使用的 高级shader 也是用汇编写的。
|
|
zgxltxzFeb 3, 2015 via Android
12
在学
|
|
rucheeFeb 3, 2015
13
在复习中,为的是看懂C/OC的调试信息
|
|
zjgoodFeb 3, 2015 via Android
14
加密解密要用到。去看雪看看吧
|
|
tabris17Feb 3, 2015
15
反编译、crack、调试都需要用到
|
|
ClaudFeb 3, 2015
16
每天都要看汇编的人默默飘过……
|
|
1023400273Feb 3, 2015
17
@sbboy 求指导,学汇编如何泡妞
|
|
wizardozFeb 3, 2015
18
我说学着玩可以吗?其实个人感觉从理念上汇编和C没有太多区别,只不过要自己处理函数栈。
|
|
qq446015875Feb 3, 2015 via Android
19
逆向工程少不了汇编的,还有对时间要求很高的场合,我记得好像dsp就得用汇编吧
|
|
kisshereFeb 3, 2015 via Android
20
用电话01键写代码的飘过
|
|
onemooFeb 3, 2015
22
即便不搞硬件、不搞嵌入式、不写汇编,但在debug C/C++时还是会用到的。
|
|
akin520Feb 3, 2015
23
必须有呀
|
|
bugeyeFeb 3, 2015
24
C语言=宏汇编,C语言想学得好,汇编是基础。
当年MFC那屎一样的框架把我逼得去用汇编写win32 GUI。 |
|
ryd994Feb 3, 2015
26
其实说高性能用汇编也是弊大于利,维护太麻烦了,坑太多。这年头编译器优化太厉害了。
玩单片机,以前老觉得用汇编可以用一些自己trick,性能会好很多。最近转用C重写,然后看反编译发现和我手动写差不了多少,甚至有些地方的优化我自己都没想到,只能说编译器太牛了。 但是学一下我还是觉得有好处的,对底层的理解好很多。 |
|
solomeFeb 3, 2015
27
看《瘋狂的程序員》的時候特別想重新拾起之前學習的匯編,最後沒動力堅持下去哈。。。
|
|
soundofuFeb 3, 2015
28
当然需要,基本做嵌入式开发的,写C的,搞深入一点都会要学汇编,很多算法和性能优化时候必须要上汇编。
|
|
fnmsdFeb 3, 2015
30
逆向工程啊~~破解软件啊~
|
|
wdlthFeb 3, 2015
31
我搞嵌入式是要学的……
|
|
NeveroldmilkFeb 3, 2015
32
不要说逆向工程了,有些时候发现程序bug,还是要看寄存器和汇编指令的。
|
|
lsmgeb89Feb 3, 2015
33
汇编有时候还是需要的,也打算学下。
|
|
specialFeb 3, 2015
34
学校必修课,要考试。
|
|
35
@Neveroldmilk 大神能告诉我i3有几个寄存器么:)
|
|
duanyu47Feb 3, 2015
38
不学汇编怎么搞破解。。
|
|
boobooFeb 3, 2015
40
图像处理算法热点的地方有时候会反汇编后基于汇编做优化。
|
|
sbboyFeb 3, 2015
41
@1023400273 具体我也不了解啊。。。就是有个妹子会汇编,我的朋友想和她有点共同语言。。。
|
|
nullizerFeb 3, 2015
44
一般人学了汇编虽然不容易用上,很容易就忘记细节。但是CS学生不学心里不会踏实的,学了之后至少心里有底,对整个编程生涯都有好处
|
|
DingSoungFeb 3, 2015
47
有啊,现在工作经常写汇编
|
|
caomaocaoFeb 3, 2015
51
如果搞嵌入式底层,还是需要的。
|
|
rlexsFeb 3, 2015
52
用来做系统开发,很好玩的,汇编应该算是最有趣的语言。
|
|
BairrfhoinnFeb 3, 2015
53
貌似汇编语言编写各种硬件的驱动程序也用的不少,什么显卡驱动、声卡驱动、网卡驱动等,都会或多或少用到这门语言……
|
|
jedihyFeb 3, 2015
54
尼玛,调试程序不懂汇编调试个蛋?不懂汇编计算机怎么工作的知道个蛋?不懂汇编优化个蛋?不懂汇编的编程,花式码字而已。
可惜我也只会花式码字。。。 |
|
daggerFeb 3, 2015
55
即便是不带操作系统的嵌入式,用到汇编的地方也很少了,现在我基本只在bootloader的引导部分和内核里一些需要稍微hack一下的地方才会看到汇编,而且很多指令在内核代码里都会被简单包装成一个c api再拿去用的
汇编对开发和维护都是噩梦,在现在这个时代还想成气候几乎不可能 |
|
txltyFeb 3, 2015
60
如果没人学汇编,那么每年那么多 操作系统 和 编程语言 的漏洞,是谁爆出来的?一群老头子?
|
|
liukunFeb 3, 2015
63
没有汇编,难道你的CPU认识Java,Python,PHP?所谓编译-汇编-链接,没有人学汇编语言,码农们还怎么玩?
|
|
publicID123Feb 3, 2015
64
码农:对汇编一窍不通。只能写脚本级代码。属于行业苦力。
工程师:能看懂汇编,用于软件调试,维护,性能优化。 科学家:精通汇编。用于编写操作系统、发明编程语言。 码农当然是不学的。大部分人也没学过,毕竟苦力是大多数。 |
|
iothFeb 3, 2015
65
91年考高程,asm是必须,不知道现在怎么样了。
|
|
easingFeb 3, 2015
66
没想到能扯的人还不少。。。上面说的有几个在这个月碰过汇编?都在说别人,是的,搞逆向搞安全的需要,但你自己需要搞么,是的,搞图形的需要,但现在carmack都不在汇编层优化了,你在搞?搞嵌入式的,我说lz根本不在这一行吧?而且在现在安卓一统天下的时候要学的也不是x86而是smali啊。对于国内80%都在做应用层的码农,搞啥子汇编啊。
当然汇编还是需要学的,了解计算机在对程序员提供的最基本抽象层有时候是很有帮助的。最好自己实现一个X86的或者一个基于栈的简单虚拟机,都不会超过500行,但我觉得也就仅此而已了。 |
|
youyangFeb 3, 2015
67
一年前搞crack研究过。
|
|
acrosFeb 3, 2015 via iPhone
68
这东西和算法一样,平时上班可能没啥用,关键时刻就能甩别人十条街。
|
|
llb123Feb 3, 2015 via Android
69
信号与系统要学貌似
|
|
POPFeb 3, 2015
70
学汇编,有妞泡?求介绍!
|
|
acrosFeb 3, 2015
71
看这个:
|
|
acrosFeb 3, 2015
72
|
|
LovingYoungFeb 3, 2015
73
上学期刚考完.
|
|
andy1987Feb 3, 2015
75
有,某些行业离不开汇编,不过现在学的更多的都是win32汇编了,以前at&t,8086的汇编应该学的人相对少了
|
|
andy1987Feb 3, 2015
76
学汇编的理由其实很简单,如果你向更深入的了解别人的程序
像一些做安全软件的底层分析员,汇编都是必备的还有那些一天到晚面对调试器的童鞋们 |
|
78
|
|
commyleungFeb 3, 2015
79
有时候我很羡慕程序,可以把自己的IDEA做出来。
|
|
80
@commyleung idea写java的,和汇编有关系?
|
|
pheyerFeb 3, 2015
82
@commyleung 就是这样啊,我本来不会做游戏的,可是有idea一直在我的脑海里萦绕,然后就自学游戏开发把游戏做出来了,当然是小游戏了
|
|
xieyudi1990Feb 3, 2015
83
大学期间学的汇编:
8051 HCS12 x86 ARMv7 PIC18 MIPS32 |
|
xieyudi1990Feb 3, 2015
85
@dingsoung 为什么要是51呢? MIPS岂不更简单?
|
|
ybh37Feb 3, 2015
86
crack、某些驱动需要啃汇编代码。
不装了,真的不会写,只能看懂简单的,知道怎么改。 |
|
txltyFeb 3, 2015
88
|
|
soundofuFeb 3, 2015
89
@laomutuo 刚才我说的意思是"白色家电", 价格竞争非常激烈, 由于出货量都是kk级别的, 所以对成本非常在意. 所以靠着量大,甚至可以把51阉割掉一些功能等定制, 以追求0.x元的成本下降.
|
|
90
@xieyudi1990 mips很复杂的,好伐:) sun不是有服务器cpu用mips做的么?
|
|
leavicFeb 3, 2015
92
做底层不学汇编就是渣
|
|
xieyudi1990Feb 3, 2015
93
@laomutuo 指令集, 执行单元, 比51要简单啊. 当然如果你是用别人的IP核那就无所谓了.
|
|
shyrzFeb 3, 2015
94
周经帖
|
|
chiuFeb 3, 2015
95
因为......考试要考
|
|
NeveroldmilkFeb 3, 2015
96
Intel有专门的白皮书介绍每款型号CPU的寄存器和指令集详细支持情况的,不是做底层指令优化的额很多高级指令集和寄存器都用不到,但是可以用来参考。http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html
|
|
97
|
|
chineselittleboyFeb 3, 2015
98
@kisshere 大神你是做什么的~~
|
|
xieyudi1990Feb 3, 2015
100
@laomutuo 51本来是35年前为多周期-微码的CISC设计的. 现在只是为了软件兼容性 (一帮人只会51怎么办? 手里只有51的binary怎么办?) 而被ATMega或STC改成了流水线执行.
RISC指令少而且划分得很规则, 能够很好得适应流水线执行. 近些年新上的嵌入式架构基本都是RISC的. 你可以把8051的复杂度, 和MIPS或者Cortex-M0之类的复杂度做对比. 这个, 和能不能跑Linux没有关系. PIC32就是基于MIPS的单片机. |