学习汇编的目的是什么??

lyl_98 2009-08-26 11:53:24
为什么要学习汇编?
工作的需要?还是个人的兴趣?
使用汇编,觉得很过瘾么?

只是简单的掌握,还是用她来做些什么?
不知道。。。
...全文
466 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
捕鲸叉 2009-08-27
  • 打赏
  • 举报
回复
理解汇编有助于理解CPU等硬件的设计和工作原理
lyl_98 2009-08-27
  • 打赏
  • 举报
回复
上面的这段话,貌似恨熟悉,记得好像在哪里看到过。。
BAYNPU 2009-08-27
  • 打赏
  • 举报
回复
转载:
我不想夸大或者贬低汇编语言。但我想说,汇编语言改变了20世纪的历史。与前辈相比,我们这一代编程人员足够的幸福,因为我们有各式各样的编程语言,我们可以操作键盘、坐在显示器面前,甚至使用鼠标、语音识别。我们可以使用键盘、鼠标来驾驭“个人计算机”,而不是和一群人共享一台使用笨重的继电器、开关去操作的巨型机。相比之下,我们的前辈不得不使用机器语言编写程序,他们甚至没有最简单的汇编程序来把助记符翻译成机器语言,而我们可以从上千种计算机语言中选择我们喜欢的一种,而汇编,虽然不是一种“常用”的具有“快速原型开发”能力的语言,却也是我们可以选择的语言中的一种。
每种计算机都有自己的汇编语言——没必要指望汇编语言的可移植性,选择汇编,意味着选择性能而不是可移植或便于调试。这份文档中讲述的是x86汇编语言,此后的“汇编语言”一词,如果不明示则表示ia32上的x86汇编语言。
汇编语言是一种易学,却很难精通的语言。回想当年,我从初学汇编到写出第一个可运行的程序,只用了不到4个小时;然而直到今天,我仍然不敢说自己精通它。编写快速、高效、并且能够让处理器“很舒服地执行”的程序是一件很困难的事情,如果利用业余时间学习,通常需要2-3年的时间才能做到。这份教材并不期待能够教给你大量的汇编语言技巧。对于读者来说,x86汇编语言"就在这里"。然而,不要僵化地局限于这份教材讲述的内容,因为它只能告诉你汇编语言是“这样一回事”。学好汇编语言,更多的要靠一个人的创造力于悟性,我可以告诉你我所知道的技巧,但肯定这是不够的。一位对我的编程生涯产生过重要影响的人曾经对我说过这么一句话:
写汇编语言程序不是汇编语言最难的部分,创新才是。
我想,愿意看这份文档的人恐怕不会问我“为什么要学习汇编语言”这样的问题;不过,我还是想说几句:首先,汇编语言非常有用,我个人主张把它作为C语言的先修课程,因为通过学习汇编语言,你可以了解到如何有效地设计数据结构,让计算机处理得更快,并使用更少的存储空间;同时,学习汇编语言可以让你熟悉计算机内部运行机制,并且,有效地提高调试能力。就我个人的经验而言,调试一个非结构化的程序的困难程度,要比调试一个结构化的程序的难度高很多,因为“结构化”是以牺牲运行效率来提高可读性与可调试性,这对于完成一般软件工程的编码阶段是非常必要的。然而,在一些地方,比如,硬件驱动程序、操作系统底层,或者程序中经常需要执行的代码,结构化程序设计的这些优点有时就会被它的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代码级的调试是远远不够的。
浮躁的人喜欢说,用C++写程序足够了,甚至说,他不仅仅掌握C++,而且精通STL、MFC。我不赞成这个观点,掌握上面的那些是每一个编程人员都应该做到的,然而C++只是我们"常用"的一种语言,它不是编程的全部。低层次的开发者喜欢说,嘿,C++是多么的强大,它可以做任何事情——这不是事实。便于维护、调试,这些确实是我们的追求目标,但是,写程序不能仅仅追求这个目标,因为我们最终的目的是满足设计需求,而不是个人非理性的理想。
这份教材适合已经学习过某种结构化程序设计语言的读者。其内容基于我在1995年给别人讲述汇编语言时所写的讲义。当然,如大家所希望的,它包含了最新的处理器所支持的特性,以及相应的内容。我假定读者已经知道了程序设计的一些基本概念,因为没有这些是无法理解汇编语言程序设计的;此外,我希望读者已经有了比较良好的程序设计基础,因为如果你缺乏对于结构化程序设计的认识,编写汇编语言程序很可能很快就破坏了你的结构化编程习惯,大大降低程序的可读性、可维护性,最终让你的程序陷于不得不废弃的代码堆之中。
基本上,这份文档撰写的目标是尽可能地便于自学。不过,它对你也有一些要求,尽管不是很高,但我还是强调一下。

killalarm 2009-08-27
  • 打赏
  • 举报
回复
大多学汇编为了搞反编译,有的是为了写病毒或者研究别人的病毒,有的用来分析游戏软件写外挂。有的是用来分析系统漏洞写木马。还有是为了从低层更加直观的了解windows系统的message机制。
其中研究和制造病毒及写外挂是最多的了!
谁的谁心疼 2009-08-27
  • 打赏
  • 举报
回复
兴趣+生存!
回帖是一种美德
nanlingcg 2009-08-27
  • 打赏
  • 举报
回复
学习一下。。。。。。只为学习一下。。。
gyk120 2009-08-27
  • 打赏
  • 举报
回复
汇编用来写东西确实比较麻烦,学汇编更多的为了理解计算机,而不是仅仅为了写个程序
南南北北 2009-08-27
  • 打赏
  • 举报
回复
为了更好的学习编程.编程是工作,同时也是兴趣.
fengxinlov 2009-08-27
  • 打赏
  • 举报
回复
感觉很好玩。也就是兴趣了。
na2650945 2009-08-27
  • 打赏
  • 举报
回复
好好汇编。
好好反汇编。
cjzddh 2009-08-27
  • 打赏
  • 举报
回复
知其然知其所以然
skyler2008 2009-08-27
  • 打赏
  • 举报
回复
兴趣+生存!
大熊猫侯佩 2009-08-27
  • 打赏
  • 举报
回复
你浅尝辄止当然不知道他是什么!
dlpzgr 2009-08-27
  • 打赏
  • 举报
回复
学习汇编理解计算机的工作原理
学计算机组成原理了解计算机设计原理

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧