1
Phoinikas 2015-04-21 15:56:56 +08:00 1
汇编简直反人类。。如果你没有强需求的话,我觉得还是放弃吧
|
2
jamesxu 2015-04-21 16:00:52 +08:00 via iPhone 1
建议看看《计算机系统概论》和《深入理解计算机系统》,能看懂汇编就行,也不用了解太深入
|
3
Andiry 2015-04-21 16:05:08 +08:00 1
>>汇编程员的视角是得到要删除的文件名,找到该文件所在位置,通过调用删除“中断命令”进行删除。
这是什么东西。汇编程序员眼里哪来的什么文件名?调用删除“中断命令”又是什么鬼? |
4
yingluck 2015-04-21 16:05:14 +08:00 1
系主任教了一个学期
|
5
xenme 2015-04-21 16:11:15 +08:00 1
你这都没必要学汇编啊。直接C以及各种语言就可以开搞,直接hook或者注入进入。
有些系统都有直接提供SDK。 汇编语言还是要去调用系统API,最多分析跟踪的时候会需要点汇编知识。 |
6
jun4rui 2015-04-21 16:11:23 +08:00 1
汇编找到好的教材其实很容易学的呀!
我当年买了本程序员资格考试那个虚拟的汇编语言的书,很容易看懂,一下子就OK啦。 基本有编程序的基础就OK了,关键是对计算机的底层有了解就行,不然说寄存器什么的脑子里没概念,还是会有点晕,懂了这些基本汇编就比较好理解了。 |
7
Phoinikas 2015-04-21 16:14:22 +08:00 1
@Andiry 其实我也想问,只记得汇编是直接操作寄存器的,看代码除了指令就是内存地址。不过自己汇编太渣怕记错了。。。
|
8
jun4rui 2015-04-21 16:15:15 +08:00 1
按程序语句等价的角度看,一行VB的打印语句,用汇编实现大约需要一百二十多行。知道汇编语言的视角后就要知道,前面的道路是坎坷的,没有耐心是不行的。想通过几分钟几行程序就完成很复杂的操作不是件容易的事。
===================================== 楼主你想太多了,汇编不是干这个的。你要用汇编做VB那种画界面的活,基本等于从底层打造一套图形环境了,相当于用ANSI C写图形界面。汇编现在就是做一些算法(不过用C写也就够了),调用OS本身提供的API(相当于你说的中断,现在还用中断吗?我的汇编都是DOS时代的,int19貌似重启还是写视频缓冲区啥,十多年都丢给老师了),画GUI还是交给别人吧。 |
9
cheng007 2015-04-21 16:21:08 +08:00 1
当年学x86汇编,把书来来回回看了3遍,才有些感觉,建议第一遍通读,第二部再细读,第三遍的时候就会有感觉了.
汇编指令,指令寻址方式,还有伪指令(方便编译器搞出来的). 无非是加减乘除,把数据从寄存器搬到内存,从内存搬到寄存器,从寄存器搬到寄存器. 汇编就繁琐了点,他本身并不复杂,难的是用汇编写复杂的程序. 你学过一种cpu的汇编后,再学其他的就容易很多了,比如说ARM的汇编指令就比x86容易. |
10
neilwong 2015-04-21 16:27:07 +08:00 1
是不是可以用单片机来入门,我也是猜的
|
11
zipher 2015-04-21 16:29:10 +08:00 1
课上学了一些 感觉基本就够用
教材是《深入理解计算机原理》 作业是拆炸弹,拆完感觉就入门了 |
13
chlx 2015-04-21 16:35:44 +08:00 1
推荐《深入理解计算机原理》,看完觉得不够再看《Computer Architecture: A Quantitative Approach》
正在倍受mid term煎熬的路过... |
14
fxxkgw 2015-04-21 16:58:34 +08:00 1
以前做驱动时候需要经常接触汇编,大部分时候都在操作寄存器,因为大学时比较渣,然后在JD上看到了一本卖的最好的汇编书,不过只是基于INTEL的。
MIPS的汇编又有点不同于INTEL ARM之类,不过总体差别不大。 如果搞前端的,就不用这些了吧。 |
15
nbihgr63249 2015-04-21 17:38:59 +08:00 1
@fxxkgw MIPS的汇编有啥可推荐的书籍吗?
|
16
fxxkgw 2015-04-21 17:42:21 +08:00 1
@nbihgr63249 MIPS一般用在交换机路由器和防火墙这些数通设备上,华为/三一般都用MIPS体系结构透视 歪国人写的 龙芯小组翻译的。。
|
17
icedx 2015-04-21 17:51:44 +08:00 1
一天
|
18
hippoboy 2015-04-21 17:52:44 +08:00 1
书上讲的应付考试没问题....不难
|
19
zhujinliang 2015-04-21 18:13:16 +08:00 1
玩单片机的表示也是极少用汇编,用的最多的汇编指令估计是NOP。。。都在凑时序了。。。
到汇编层只有指令地址立即数寄存器之类的东西,字符串都是上层结构了,一般都不会用汇编去爬字符串 所谓的 调中断,实质是寄存器操作,而且调中断之前,你还得知道中断那头要访问哪些寄存器,相应地需要提前把内容准备好,这块又是操作系统的细节了 围绕 调用(CALL) / 中断 之类的,还有 栈 / 现场保护之类的问题 鼓捣汇编得知道CPU细节,每个指令/寄存器是干啥的,指令会影响哪些寄存器之类的 不过了解点汇编,会发现有些东西的实现其实挺有趣的,或者说出乎意料的简单 |
20
ryd994 2015-04-21 19:48:59 +08:00 via Android 1
我认为除了写内核和驱动中特别底层的部分,其他时候用汇编都是重复造轮子(尽管重复造轮子来学习有时很有效)
对性能再怎么有要求,用C也就够了。如果你反编译过自己的程序你就该发现,很多时候编译器优化比你更聪明。 真心不差这点,哪怕高级语言比汇编慢十倍,那也只是开销线性翻倍。碰上二逼程序员把O(n)写成O(n^2),那用什么语言都一样。 |
21
tioover 2015-04-21 19:54:22 +08:00 1
楼主你去看《深入理解计算机系统》吧,汇编实际上就是 C 费了点劲
|
22
icedx 2015-04-22 10:11:57 +08:00 via Android 1
我还是说说吧…
现在几乎没有所谓纯粹的汇编… 用的比较多的是游戏开发中的性能优化… 具体就是对编译器生成的中间件进行人工优化… 真要手撸汇编… 也是特别高端的应用… 比如动车组的控制系统… |