- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                
                  简明 x86 汇编语言教程 
                      作者:司徒彦南  来源:互联网   Vanembedded整理  2007-11-8  
第○章 写在前面  
    我不想夸大或者贬低汇编语言。但我想说,汇编语言改变了 20 世纪的历史。与前辈相 
比,我们这一代编程人员足够的幸福,因为我们有各式各样的编程语言,我们可以操作键盘、 
坐在显示器面前,甚至使用鼠标、语音识别。我们可以使用键盘、鼠标来驾驭“个人计算机”, 
而不是和一群人共享一台使用笨重的继电器、开关去操作的巨型机。相比之下,我们的前辈 
不得不使用机器语言编写程序,他们甚至没有最简单的汇编程序来把助记符翻译成机器语 
言,而我们可以从上千种计算机语言中选择我们喜欢的一种,而汇编,虽然不是一种“常用” 
的具有“快速原型开发”能力的语言,却也是我们可以选择的语言中的一种。  
    每种计算机都有自己的汇编语言——没必要指望汇编语言的可移植性,选择汇编,意味 
着选择性能而不是可移植或便于调试。这份文档中讲述的是 x86 汇编语言,此后的“汇编语 
言”一词,如果不明示则表示 ia32上的 x86 汇编语言。  
    汇编语言是一种易学,却很难精通的语言。回想当年,我从初学汇编到写出第一个可运 
行的程序,只用了不到 4 个小时;然而直到今天,我仍然不敢说自己精通它。编写快速、高 
效、并且能够让处理器“很舒服地执行”的程序是一件很困难的事情,如果利用业余时间学 
习,通常需要 2-3 年的时间才能做到。这份教材并不期待能够教给你大量的汇编语言技巧。 
对于读者来说,x86 汇编语言“就在这里”。然而,不要僵化地局限于这份教材讲述的内容, 
因为它只能告诉你汇编语言是“这样一回事”。学好汇编语言,更多的要靠一个人的创造力 
于悟性,我可以告诉你我所知道的技巧,但肯定这是不够的。一位对我的编程生涯产生过重 
要影响的人曾经对我说过这么一句话:  
    写汇编语言程序不是汇编语言最难的部分,创新才是。  
    我想,愿意看这份文档的人恐怕不会问我“为什么要学习汇编语言”这样的问题;不过, 
我还是想说几句:首先,汇编语言非常有用,我个人主张把它作为 C 语言的先修课程,因为 
通过学习汇编语言,你可以了解到如何有效地设计数据结构,让计算机处理得更快,并使用 
更少的存储空间;同时,学习汇编语言可以让你熟悉计算机内部运行机制,并且,有效地提 
高调试能力。就我个人的经验而言,调试一个非结构化的程序的困难程度,要比调试一个结 
构化的程序的难度高很多,因为“结构化”是以牺牲运行效率来提高可读性与可调试性,这 
对于完成一般软件工程的编码阶段是非常必要的。然而,在一些地方,比如,硬件驱动程序、 
操作系统底层,或者程序中经常需要执行的代码,结构化程序设计的这些优点有时就会被它 
的低效率所抹煞。另外,如果你想真正地控制自己的程序,只知道源代码级的调试是远远不 
够的。  
    浮躁的人喜欢说,用 C++写程序足够了,甚至说,他不仅仅掌握 C++,而且精通 STL、 
MFC。我不赞成这个观点,掌握上面的那些是每一个编程人员都应该做到的,然而 C++只是 
我们“常用”的一种语言,它不是编程的全部。低层次的开发者喜欢说,嘿,C++是多么的 
强大,它可以做任何事情——这不是事实。便于维护、调试,这些确实是我们的追求目标, 
但是,写程序不能仅仅追求这个目标,因为我们最终的目的是满足设计需求,而不是个人非 
理性的理想。  
    这份教材适合已经学习过某种结构化程序设计语言的读者。其内容基于我在 1995年给 
别人讲述汇编语言时所写的讲义。当然,如大家所希望的,它包含了最新的处理器所支持的 
特性,以及相应的内容。我假定读者已经知道了程序设计的一些基本概念,因为没有这些是 
无法理解汇编语言程序设计的;此外,我希望读者已经有了比较良好的程序设计基础,因为 
如果你缺乏对于结构化程序设计的认识,编写汇编语言程序很可能很快就破坏了你的结构化 
编程习惯,大大降低程序的可读性、可维护性,最终让你的程序陷于不得不废弃的代码堆之 
中。  
    基本上,这份文档撰写的目标是尽可能地便于自学。不过,它对你也有一些要求,尽管 
不是很高,但我还是强调一下。  
                                        
                           学习汇编语言,你需要 
   • 胆量。不要害怕去接触那些计算机的内部工作机制。 
   • 知识。了解计算机常用的数制,特别是二进制、十六进制、八进制,以及计算机保 
       存数据的方法。 
   
                您可能关注的文档
- DIY护肤品的对错(妖婧谷).pdf
 - PPT做的苹果发布会尘土效果.ppt
 - Revit族用户手册[一起建设网提供].pdf
 - 130207YY讲座PPT-工作类话题词伙浅析- 信强哥雅思过.pptx
 - week 10 企业营销策划单元(10) 经典4 和营销国际化策划 策划 2012-2019.ppt
 - DDD领域驱动设计基本理论知识总结 .docx
 - 成发科技年报(600391)年度报告2011年(运输设备财务预算)四川成发航空科技股份有限公司_@九舍会智库.pdf
 - 从异化到对象化_1844年经济学哲学手稿_劳动概念的文本解读.pdf
 - 德赛电池年报(000049)年度报告2011年(电气机械财务风险)深圳市德赛电池科技股份有限公司_@九舍会智库.pdf
 - 东方创业年报(600278)年度报告2011年(商业批发资金筹集)东方国际创业股份有限公司_@九舍会智库.pdf
 
最近下载
- 2023年资料员资格考试题库答案下载.docx
 - 煤岩复合体能量传递特性与动力灾害关联性.docx VIP
 - 高血压的危害及有效的降压方法.pptx VIP
 - 生涯发展报告.pdf VIP
 - 2025年山东省财金投资集团有限公司人员招聘笔试备考题库及答案解析.docx VIP
 - 数学活动 月历中的奥秘及和为定值的两数积的规律 2025-2026学年人教版数学八年级上册.docx
 - 2026教育部教育技术与资源发展中心(中央电化教育馆)招聘3人(非事业编)笔试备考试题及答案解析.docx VIP
 - 弱电施工方案.doc VIP
 - NB_T 11234-2023 压水堆核电厂常规岛压力管道监督管理导则.pdf VIP
 - 2025-2026学年苏教版(2024)小学科学三年级上册(全册)每课知识点清单 .pdf
 
原创力文档
                        

文档评论(0)