单片机外文翻译—汇编语言的艺术(译文-英文).doc
《单片机外文翻译—汇编语言的艺术(译文-英文).doc》由会员分享,可在线阅读,更多相关《单片机外文翻译—汇编语言的艺术(译文-英文).doc(14页珍藏版)》请在咨信网上搜索。
1、The Art of Assembly Language1. Whats Wrong With Assembly Language?2. Whats Right With Assembly Language?1. Whats Wrong With Assembly LanguageAssembly language has a pretty bad reputation. The common impression about assembly languageprogrammers today is that they are all hackers or misguided individ
2、uals who need enlightenment.Here are the reasons people give for not using assembly: (1)Assembly is hard to learn. (2)Assembly is hard to read and understand. (3)Assembly is hard to debug. (4)Assembly is hard to maintain. (5)Assembly is hard to write. (6)Assembly language programming is time consumi
3、ng. (7)Improved compiler technology has eliminated the need for assembly language. (8)Today, machines are so fast that we no longer need to use assembly. (9)If you need more speed, you should use a better algorithm rather than switch to assembly language. (10)Machines have so much memory today, savi
4、ng space using assembly is not important. (11)Assembly language is not portable.These are some strong statements indeed!Given that this is a book which teaches assembly language programming, written for college level students, written by someone who appears to know what hes talking about, your natur
5、al tendency is to believe something if it appears in print. Having just read the above, youre starting to assume that assembly must be pretty bad. And that, dear friend, is eighty percent of whats wrong with assembly language. That is, people develop some very strong misconceptions about assembly la
6、nguage based on what theyve heard from friends, instructors, articles, and books. Oh, assembly language is certainly not perfect. It does have many real faults. Those faults, however, are blown completely out of proportion by those unfamiliar with assembly language. The next time someone starts prea
7、ching about the evils of assembly language, ask, how many years of assembly language programming experience do you have? Of course assembly is hard to understand if you dont know it. It is surprising how many people are willing to speak out against assembly language based only on conversations theyv
8、e had or articles theyve read.Assembly language users also use high level languages (HLLs); assemblys most outspoken opponents rarely use anything but HLLs. Who would you believe, an expert well versed in both types of programming languages or someone who has never taken the time to learn assembly l
9、anguage and develop an honest opinion of its capabilities?In a conversation with someone, I would go to great lengths to address each of the above issues.Indeed, in a rough draft of this chapter I spent about ten pages explaining what is wrong with each of the above statements. However, this book is
10、 long enough and I felt that very little was gainedby going on and on about these points. Nonetheless, a brief rebuttal to each of the above points is in order, if for no other reason than to keep you from thinking there isnt a decent defense for these statements.Assembly is hard to learn. So is any
11、 language you dont already know. Try learning (really learning) APL, Prolog, or Smalltalk sometime. Once you learn Pascal, learning another language like C, BASIC, FORTRAN, Modula-2, or Ada is fairly easy because these languages are quite similar to Pascal. On the other hand, learning a dissimilar l
12、anguage like Prolog is not so simple.Assembly language is also quite different from Pascal. It will be a little harder to learn than one of the other Pascal-like languages. However, learning assembly isnt much more difficult than learning your first programming language.Assembly is hard to read and
13、understand. It sure is, if you dont know it. Most people who make this statement simply dont know assembly. Of course, its very easy to write impossible-to-read assembly language programs. Its also quite easy to write impossible-to-read C, Prolog, and APL programs. With experience, you will find ass
14、embly as easy to read as other languages.Assembly is hard to debug. Same argument as above. If you dont have much experience debugging assembly language programs, its going to be hard to debug them. Remember what it was like finding bugs in your first Pascal (or other HLL) programs? Anytime you lear
15、n a new programming language youll have problems debugging programs in that language until you gainexperience.Assembly is hard to maintain. C programs are hard to maintain. Indeed, programs are hard to maintain period. Inexperienced assembly language programmers tend to write hard to maintain progra
16、ms. Writing maintainable programs isnt a talent. Its a skill you develop through experience.Assembly language is hard. This statement actually has a ring of truth to it. For the longest time assembly language programmers wrote their programs completely from scratch, often re-inventing the wheel. HLL
17、 programmers, especially C, Ada, and Modula-2 programmers, have long enjoyed the benefits of a standard library package which solves many common programming problems. Assembly language programmers, on the other hand, have been known to rewrite an integer output routine every time they need one. This
18、 book does not take that approach. Instead, it takes advantage of some work done at the University of California, Riverside: the UCR Standard Library for 80x86 Assembly Language Programmers. These subroutines simplify assembly language just as the C standard library aids C programmers. The library s
19、ource listings are available electronically via Internet and various other communication services as well as on acompanion diskette.Assembly language programming is time consuming. Software engineers estimate that developers spend only about thirty percent of their time coding a solution to a proble
20、m. Even if it took twice as much time to write a program in assembly versus some HLL, there would only be a fifteen percent difference in the total project completion time. In fact, good assembly language programmers do not need twice as much time to implement something in assembly language. It is t
21、rue using a HLL will save some time; however, the savings is insufficient to counter the benefits of using assembly language.Improved compiler technology has eliminated the need for assembly language. This isnt true and probably never will be true. Optimizing compilers are getting better every day.
22、However, assembly language programmers get better performance by writing their code differently than they would if they were using some HLL. If assembly language programmers wrote their programs in C and then translated them manually into assembly, a good C compiler would produce equivalent, or even
23、 better, code. Those who make this claim about compiler technology are comparing theirhand-compiled code against that produced by a compiler. Compilers do a much better job of compiling than humans. Then again, youll never catch an assembly language programmer writing C code with MOV instructions. A
24、fter all, thats why you use C compilers.Today, machines are so fast that we no longer need to use assembly. It is amazing that people will spend lots of money to buy a machine slightly faster than the one they own, but they wont spend any extra time writing their code in assembly so it runs faster o
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 外文 翻译 汇编语言 艺术 译文 英文
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【天****】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【天****】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。