版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
課程論文<**>-Sor<**>-R:<論文題目>-By:<**>,許卓明河海大學(xué),<yyyy-mm-dd>PagePAGE2ofNUMPAGES1.z.本科課程論文CoursePaper課程名稱Course:IBM-PC匯編語言課程設(shè)計課程名稱Course:IBM-PC匯編語言課程設(shè)計課程性質(zhì)CourseNo:專業(yè)課學(xué)分?jǐn)?shù)Credits:5主講教師Instructor:開設(shè)學(xué)院College:**學(xué)院開設(shè)時間Semester:2021-09-03撰寫日期Date:2021-01-01匯編的總結(jié)PaperTitleinEnglish**〔計算機及信息工程學(xué)院計算機科學(xué)與技術(shù)專業(yè)2年級**〕論文類型PaperType:研究總結(jié)SummaryofFocusedResearch論及主題SubjectCovered:□□■□□**學(xué)院匯編的總結(jié)姓名〔計算機及信息工程學(xué)院計算機科學(xué)與技術(shù)專業(yè)2年級**〕Email:qq.摘要:作為最根本的編程語言之一,匯編語言雖然應(yīng)用的范圍不算很廣,但重要性卻勿庸置疑,因為它能夠完成許多其它語言所無法完成的功能。就拿Linu*內(nèi)核來講,雖然絕大局部代碼是用C語言編寫的,但仍然不可防止地在*些關(guān)鍵地方使用了匯編代碼,其中主要是在Linu*的啟動局部。由于這局部代碼與硬件的關(guān)系非常密切,即使是C語言也會有些力不從心,而匯編語言則能夠很好揚長避短,最大限度地發(fā)揮硬件的性能。。關(guān)鍵詞:編匯應(yīng)用開展匯編語言比機器語言易于讀寫、易于調(diào)試和修改,同時也具有機器語言執(zhí)行速度快,占內(nèi)存空間少等優(yōu)點,但在編寫復(fù)雜程序時具有明顯的局限性,匯編語言依賴于具體的機型,不能通用,也不能在不同機型之間移植。是能完成一定任務(wù)的機器指令的集合。常說匯編語言過時,是低級語言,并不是說匯編語言要被棄之,相反,匯編語言仍然是程序員必須了解的語言,在*些行業(yè)與領(lǐng)域,匯編是必不可少的,非它不可適用。只是,現(xiàn)在計算機最大的領(lǐng)域為IT軟件,也是我們常說的Windows編程,在熟練的程序員手里,使用匯編語言編寫的程序,運行效率與性能比其它語言寫的程序是成倍的優(yōu)秀,但是代價是需要更長的時間來優(yōu)化,如果對計算機原理及編程根底不扎實,實在是得不償失,比照現(xiàn)在的軟件開發(fā),已經(jīng)是市場化的軟件行業(yè),加上高級語言的優(yōu)秀與跨平臺,一個公司不可以讓一個團隊使用匯編語言來編寫所有的東西,花上幾倍甚至幾十倍的時間,不如使用其它語言來完成,只要最終結(jié)果不比匯編語言編寫的差太多,就能搶先一步完成,這是市場經(jīng)濟下的必然結(jié)果。匯編語言(6*)但是,至今為止,還沒有程序員敢斷定匯編語言是不需要學(xué)的,一個不懂匯編語言的程序員,只是三流的程序員,這是大局部人的共識,同時,技術(shù)匯編語言(AssemblyLanguage)是面向機器的程序設(shè)計語言精湛的匯編程序員,已經(jīng)脫離軟件開發(fā),擠身于工業(yè)電子編程中,一個電子工程師,主要開發(fā)語言就是匯編,c語言使用只占極少局部,而電子開發(fā)工程師是千金難求,在一些工業(yè)公司,一個核心的電子工程師比其它任何職員待遇都高,比照起來,一般電子工程師待遇是程序員的十倍以上。這種情況是因為現(xiàn)在學(xué)習(xí)匯編的人雖然也不少,但是真正能學(xué)到精通的卻不多,它難學(xué),難用,適用范圍小,雖然簡單,但是過于靈活,學(xué)習(xí)過高級語言的人去學(xué)習(xí)匯編比一開場學(xué)匯編的人難得多,但是學(xué)過匯編的人學(xué)習(xí)高級語言卻很容易,簡從繁易,繁從簡難。總之,匯編語言是程序員的必修語言。目前國內(nèi)最好的匯編是"AoGo匯編小站〞。其站長aogo,就是一個在工業(yè)方面有所成就的工程師,有意者可多參考。其次就是羅云彬的匯編站點:這個大概是國內(nèi)建站時間最長的匯編站點,其編寫的"Windows下匯編語言程序設(shè)計"一書。是站長十幾年的經(jīng)歷的集合,不妨看看。熟悉指令,可以嘗試破解,加強興趣,參考看雪學(xué)院,國內(nèi)最好的破解組織,其中看雪與眾高手打造的破解書"加密解密完全方案"非常有名。匯編語言是一種低級的程序語言可直接控制硬件。匯編語言是計算機最底層的語言,現(xiàn)在一般都用在硬件層,對硬件直接控制,其他的都用高級的語言編寫了,因為匯編寫程序容易出錯,而且太過于復(fù)雜和長啦,雖然引入了其他的有類似高級語言的一些偽指令但是相比高級語言可以解決的問題都不用匯編啦。好似現(xiàn)在的計算機已經(jīng)增加了對C++還是什么語言〔反正就是高級語言〕的支持啦,就是開集的引導(dǎo)程序已經(jīng)不用匯編啦〔好似只有為蘋果apple系統(tǒng)制作的機子有,微軟不知道為什么還沒,不過不是技術(shù)問題,據(jù)說有其他目的〕。作為最根本的編程語言之一,匯編語言雖然應(yīng)用的范圍不算很廣,但重要性卻勿庸置疑,因為它能夠完成許多其它語言所無法完成的功能。就拿Linu*內(nèi)核來講,雖然絕大局部代碼是用C語言編寫的,但仍然不可防止地在*些關(guān)鍵地方使用了匯編代碼,其中主要是在Linu*的啟動局部。由于這局部代碼與硬件的關(guān)系非常密切,即使是C語言也會有些力不從心,而匯編語言則能夠很好揚長避短,最大限度地發(fā)揮硬件的性能。按CPU不同的話根本每一種CPU都對應(yīng)一種匯編,比方Intel出的CPU可以算一個系列的,這些CPU在推出新版CPU的時候會根本保持向下兼容,就是原來低級CPU的指令在高級的CPU上也是一樣的,所以說可以算作一類.另外還有單片機的匯編,單片機的指令和PC上CPU的指令是有出入的,所以另作一類按操作系統(tǒng)不同的話可以分為windows下匯編,DOS匯編等,雖然可能在一樣的CPU上運行不同的操作系統(tǒng)(比方windows下的dos窗口),但不同的操作系統(tǒng)的程序設(shè)計是不一樣的,比方在DOS下你不可能去調(diào)用windows的API,在windows下也不可能去調(diào)用DOS的int21H中斷.另外*些單片機也有操作系統(tǒng)大多數(shù)情況下Linu*程序員不需要使用匯編語言,因為即便是硬件驅(qū)動這樣的底層程序在Linu*操作系統(tǒng)中也可以用完全用C語言來實現(xiàn),再加上GCC這一優(yōu)秀的編譯器目前已經(jīng)能夠?qū)ψ罱K生成的代碼進展很好的優(yōu)化,確實有足夠的理由讓我們可以暫時將匯編語言拋在一邊了。但實現(xiàn)情況是Linu*程序員有時還是需要使用匯編,或者不得不使用匯編,理由很簡單:精簡、高效和libc無關(guān)性。假設(shè)要移植Linu*到*一特定的嵌入式硬件環(huán)境下,首先必然面臨如何減少系統(tǒng)大小、提高執(zhí)行效率等問題,此時或許只有匯編語言能幫上忙了。匯編語言直接同計算機的底層軟件甚至硬件進展交互,它具有如下一些優(yōu)點:能夠直接訪問與硬件相關(guān)的存儲器或I/O端口;能夠不受編譯器的限制,對生成的二進制代碼進展完全的控制;能夠?qū)﹃P(guān)鍵代碼進展更準(zhǔn)確的控制,防止因線程共同訪問或者硬件設(shè)備共享引起的死鎖;能夠根據(jù)特定的應(yīng)用對代碼做最正確的優(yōu)化,提高運行速度;能夠最大限度地發(fā)揮硬件的功能。同時還應(yīng)該認(rèn)識到,匯編語言是一種層次非常低的語言,它僅僅高于直接手工編寫二進制的機器指令碼,因此不可防止地存在一些缺點:編寫的代碼非常難懂,不好維護;很容易產(chǎn)生bug,難于調(diào)試;只能針對特定的體系構(gòu)造和處理器進展優(yōu)化;開發(fā)效率很低,時間長且單調(diào)。匯編當(dāng)然可以寫網(wǎng)絡(luò)程序啦,高級語言可以做的匯編可以做,高級語言不可以做的匯編也可以做。IP探測的軟件一般都不用匯編,畢竟高級語言可以解決,但是匯編寫出來的沒有高級語言自身的一些限制,如平安性,可能對權(quán)限有限制。匯編可以應(yīng)用于單片機,因為他們簡單種類繁多,沒有操作系統(tǒng)〔開發(fā)代價大,而且不劃算〕故用匯編,不過其他的涉及電子的根本上都可以用匯編一方面,匯編語言指令是用一些具有相應(yīng)含義的助憶符來表達的,所以,它要比機器語言容易掌握和運用,但另一方面,它要直接使用CPU的資源,相對高級程序設(shè)計語言來說,它又顯得難掌握。匯編語言程序歸納起來大概有以下幾個主要特性。1、與機器相關(guān)性匯編語言指令是機器指令的一種符號表示,而不同類型的CPU有不同的機器指令系統(tǒng),也就有不同的匯編語言,所以,匯編語言程序與機器有著密切的關(guān)系。由于匯編語言程序與機器的相關(guān)性,所以,除了同系列、不同型號CPU之間的匯編語言程序有一定程度的可移植性之外,其它不同類型(如:小型機和微機等)CPU之間的匯編語言程序是無法移植的,也就是說,匯編語言程序的通用性和可移植性要比高級語言程序低。2、執(zhí)行的高效率正因為匯編語言有"與機器相關(guān)性〞的特性,程序員用匯編語言編寫程序時,可充分發(fā)揮自己的聰明才智,對機器內(nèi)部的各種資源進展合理的安排,讓它們始終處于最正確的使用狀態(tài),這樣做的最終效果就是:程序的執(zhí)行代碼短,執(zhí)行速度快?,F(xiàn)在,高級語言的編譯程序在進展存放器分配和目標(biāo)代碼生成時,也都有一定程度的優(yōu)化(在后續(xù)課程"編譯原理"的有關(guān)章節(jié)會有詳細介紹),但由于所使用的"優(yōu)化策略〞要適應(yīng)各種不同的情況,所以,這些優(yōu)化策略只能在宏觀上,不可能在微觀上、細節(jié)上進展優(yōu)化。而用匯編語言編寫程序幾乎是程序員直接在寫執(zhí)行代碼,程序員可以在程序的每個具體細節(jié)上進展優(yōu)化,這也是匯編語言程序執(zhí)行高效率的原因之一。3、編寫程序的復(fù)雜性匯編語言是一種面向機器的語言,其匯編指令與機器指令根本上一一對應(yīng),所以,匯編指令也同機器指令一樣具有功能單一、具體的特點。要想完成*件工作(如計算:A+B+C等),就必須安排CPU的每步工作(如:先計算A+B,再把C加到前者的結(jié)果上)。另外,在編寫匯編語言程序時,還要考慮機器資源的限制、匯編指令的細節(jié)和限制等等。由于匯編語言程序要安排運算的每一個細節(jié),這就使得編寫匯編語言程序比擬繁瑣、復(fù)雜。一個簡單的計算公式或計算方法,也要用一系列匯編指令一步一步來實現(xiàn)。4、調(diào)試的復(fù)雜性在通常情況下,調(diào)試匯編語言程序要比調(diào)試高級語言程序困難,其主要原因有四:匯編語言指令涉及到機器資源的細節(jié),在調(diào)試過程中,要清楚每個資源的變化情況;程序員在編寫匯編語言程序時,為了提高資源的利用率,可以使用各種實現(xiàn)技巧,而這些技巧完全有可能破壞程序的可讀性。這樣,在調(diào)試過程中,除了要知道每條指令的執(zhí)行功能,還要清楚它在整個解題過程中的作用;高級語言程序幾乎不顯式地使用"轉(zhuǎn)移語句〞,但匯編語言程序要用到大量的、各類轉(zhuǎn)移指令,這些跳轉(zhuǎn)指令大大地增加了調(diào)試程序的難度。如果在匯編語言程序中也強調(diào)不使用"轉(zhuǎn)移指令〞,則,匯編語言程序就會變成功能單調(diào)的順序程序,這顯然是不現(xiàn)實的;調(diào)試工具落后,高級語言程序可以在源程序級進展符號跟蹤,而匯編語言程序只能跟蹤機器指令。不過,現(xiàn)在這方面也有所改善,CV(CodeView)、TD(TurboDebug)等軟件也可在源程序級進展符號跟蹤了。綜上所說,匯編語言的特點明顯,其誘人的優(yōu)點直接導(dǎo)致其嚴(yán)重的缺點,其"與機器相關(guān)〞和"執(zhí)行的高效率〞導(dǎo)致其可移植性差和調(diào)試難。所以,我們在選用匯編語言時要根據(jù)實際的應(yīng)用環(huán)境,盡可能防止其缺點對整個應(yīng)用系統(tǒng)的影響。下面簡單列舉幾個領(lǐng)域以示說明,但不要把它們絕對化。1、適用的領(lǐng)域要求執(zhí)行效率高、反響快的領(lǐng)域,如:操作系統(tǒng)內(nèi)核,工業(yè)控制,實時系統(tǒng)等;系統(tǒng)性能的瓶頸,或頻繁被使用子程序或程序段;與硬件資源密切相關(guān)的軟件開發(fā),如:設(shè)備驅(qū)動程序等;受存儲容量限制的應(yīng)用領(lǐng)域,如:家用電器的計算機控制功能等;沒有適當(dāng)?shù)母呒壵Z言開發(fā)環(huán)境。2、不宜使用的領(lǐng)域大型軟件的整體開發(fā);沒有特殊要求的一般應(yīng)用系統(tǒng)的開發(fā)等。PaperTitleinEnglishNAMEName-name〔Student-No,College〕Email:"Abstract:Asoneofthemostbasicprogramminglanguage,assemblylanguage,althoughthescopeofapplicationisnotverywide,buttheimportanceisundoubtedly,becauseitcandomanyotherlanguagecanpletethefunctionof.TaketheLinu*kernel,althoughthevastmajorityofthecodeiswrittenusingClanguage,butstillinevitablyincertainkeyareasuseassemblycode,whichismainlyintheLinu*portionoftheboot.Duetothispartofthecodeandthehardwareoftherelationshipisveryclose,evenifistheClanguagealsowillbetheretoo,andassemblylanguagecanbeverygoodfosterstrengthsandcircumventweaknesses,toma*imizetheperformanceofhardware..Keywords:pilationApplicationDevelopmentAssemblylanguagemachinelanguageeasytoreadandwrite,iseasytodebugandmodify,whilealsohavingamachinelanguageisfast,occupythememoryspaceislittlewaitforanadvantage,butintheplicatedprogramminghasobviouslimitations,assemblylanguageisdependentonthespecificmodels,notgeneral,notindifferentmodelsoftransplantation.Istopleteacertaintaskmachineinstructionset.Assemblylanguageisoftensaid,isthelow-levellanguage,isnottosaythattheassemblylanguagetobeabandoned,incontrast,assemblylanguageisstilltheprogrammermustbeawareofthelanguage,andinsomeindustriesandfields,thepilationisessential,foritisnotapplicable.Just,nowthelargestfieldofputerfortheITsoftware,andweoftensaytheWindowsprogramming,inskilledprogrammer'shands,theuseofassemblylanguageprogramming,operationefficiencyandperformancethanotherlanguagesaremultipliedbytheelite,butthepriceistakelongertooptimize,iftheputerprincipleandprogrammingbasedonitisnotsolid,thelossoutweighsthegain.,paredwiththecurrentsoftwaredevelopment,isthemarketofthesoftwareindustry,coupledwithadvancedlanguagebestcrossplatform,apanymaynotmakeateamusingassemblylanguagetowriteallthethings,spendseveraltimesorevenseveraltimes,astheuseofotherlanguagesplete,aslongastheendresultthanassemblylanguagetoomuch,willthefirststep,thisistheinevitableresultofmarketeconomy.Assemblylanguage(6)but,sofar,noprogrammerbetassemblylanguageistolearn,donotknowaassemblylanguageprogrammers,justthreestreamprogrammers,thisisthemostmon,atthesametime,technologyofassemblylanguage(AssemblyLanguage)isamachineorientedlanguageskillsassemblylanguageprogrammers,hasbeenseparatedfromthesoftwaredevelopment,amongtheindustrialelectronicprogramming,anelectronicsengineer,mainlythedevelopmentoflanguageistheClanguagepilation,usingonlyasmallpercentof,whiletheelectronicdevelopmentengineerispriceless,insomeindustries,acoreelectronicengineersthananyotherstafftreatmentishigh,incontrastGeneralElectronicEngineer,programmertreatmentismorethantentimes.Thisisbecausethepresentstudythepilationofalthoughmany,butreallycanlearngoodnotmuchhowever,itisdifficult,difficulttouse,suitablescopeislittle,althoughsimple,buttoomuchfle*ibility,learningadvancedlanguagetolearnassemblythanstartedthepilationofrare,butlearnedassemblerpeoplelearnlanguagesveryeasily,Janefromple*ity,simplifyingdifficult.Inshort,theassemblylanguageisapulsorylanguageprogrammer.Currentlythebestpilationofsiteis"AoGoassemblystation".Theheadofaogo,isanindustrialachievementofengineer,thoseinterestedcanreferto.Ne*tisLuoYunbinassemblysite:Thisisprobablythehomestationforthelongesttimeassemblysite,itswrite"Windowsassemblylanguageprogramdesign"inabook.Thestationismorethan10yearsofe*perienceinthecollection,mayhavealook.Familiarwiththeinstruction,cantrytocrack,tostrengthentheinterest,referencetoseeSnowCollege,thebestdomesticcrackinggroup,whichseethesnowandthemastertocreatecrackbook"encryptionanddecryptionprogrampletely"isveryfamous.Assemblylanguageisalow-levelprogramminglanguagecandirectlycontrolthehardware.Assemblylanguageisaputeratthebottomofthelanguage,nowgenerallyusedinthehardwarelayer,todirecthardwarecontrol,othersusetheadvancedlanguage,becausetheprogramiseasytomakeamistake,butitistooplicatedandlong,althoughintroducedothersimilarseniorlanguageofsomepseudoinstructionbutparedwiththeadvancedlanguageitcansolvetheproblemwithoutpilation.NowitseemsthatputerhasbeenaddedtotheC++orwhatlanguage(itisahigh-levellanguage)support,issettoguidetheprocesshasnoassembly.(ifonlyfortheappleapplesystemmakingmachinewithMicrosoft,don'tknowwhyhehasn't,butisnotatechnicalproblem,issaidtohaveotherpurposes).Asoneofthemostbasicprogramminglanguage,assemblylanguage,althoughthescopeofapplicationisnotverywide,buttheimportanceisundoubtedly,becauseitcandomanyotherlanguagecanpletethefunctionof.TaketheLinu*kernel,althoughthevastmajorityofthecodeiswrittenusingClanguage,butstillinevitablyincertainkeyareasuseassemblycode,whichismainlyintheLinu*portionoftheboot.Duetothispartofthecodeandthehardwareoftherelationshipisveryclose,evenifistheClanguagealsowillbetheretoo,andassemblylanguagecanbeverygoodfosterstrengthsandcircumventweaknesses,toma*imizetheperformanceofhardware.AccordingtoCPUdifferentessentialeachkindofCPUcorrespondstoanassembly,suchastheIntelCPUcanbecountedasaseries,theCPUinlaunchinganewversionofCPUwillbasicallymaintaindownwardpatibility,istheoriginalgradeCPUinstructioninseniorCPUisthesame,socanbeconsideredasaclass.Anotherpilation,MCUinstructionsandPCCPUinstructionisdifferent,soaclassAccordingtotheoperatingsystemtodifferentwordscanbedividedintowindowspilation,DOSpilation,althoughpossibleinthesameCPUrunningondifferentoperatingsystem(suchasthewindowsDOSwindow),butadifferentoperatingsystemprogramdesignisnotthesameas,fore*ample,inDOSyouwon'tbeabletocallthewindowsAPI,inthewindowsalsoimpossibletocallDOSint21Hinterrupt.MoreoversomechipalsohasoperatingsystemMostcasesofLinu*programmersdonotneedtouseassemblylanguage,becauseeventhehardwaredriversthattheunderlyingprogramintheLinu*operatingsystemcanalsobeusedentirelyinClanguagetoachieve,plusGCCthise*cellentpilerhasbeenabletoultimatelygeneratethecodeofgoodoptimization,thereissufficientreasonforwecanputasidetheassemblylanguage.ButtheimplementationofLinu*programmerissometimesstillneedtouseapilation,ortousethepilation,thereasonisverysimple:streamlined,efficientandlibcindependence.SupposeyouwanttotransplantLinu*toagivenhardwareenvironment,firstofallmustfacehowtoreducethesystemsize,improvee*ecutionefficiencyandotherissues,thisisprobablytheonlyassemblylanguagecanhelp.Assemblylanguagedirectlywiththebottomlayeroftheputersoftwareandhardwaretointeract,ithasthefollowingadvantages:TobeabletodirectlyaccessthehardwarerelatedmemoryorI/Oport;Withoutbeingaffectedbythepiler,togeneratethebinarycodepletecontrol;Thekeycodetobemoreprecisecontrol,toavoidthemonthreadstoaccessorhardwaredevicesharedbyadeadlock;Accordingtospecificapplicationcodetodothebestoptimization,improvetheoperatingspeed;Toma*imizethefunctionofhardware.Atthesametimealsoshouldbeawareof,theassemblerlanguageisakindofverylowlevelsofthelanguage,itishigherthanthatofdirectwritingbinarymachinecodeinstruction,itinevitablyhassomeshortings:Codeisverydifficulttounderstand,notmaintenance;Itiseasytoproducebug,difficulttodebug;Onlyspecificarchitectureandprocessoroptimization;Thedevelopmentofefficiencyisverylow,longandboring.Assemblycancertainlywritenetworkprograms,high-levellanguagecandoassemblycanbedone,thehigh-levellanguagecannotdoassemblycanalsodo.IPdetectionsoftwareisgenerallynothigh-levellanguagepilation,afterall,canbesolved,butapilationofwrittenlanguageitselfwithoutadvancedsomerestrictions,suchassecurity,mayhaveontheauthorityrestriction.AssemblycanbeappliedtoSCM,becauseoftheirsimplevariety,nooperatingsystem(thepriceofdevelopmentoflarge,butnotworthwhile)theassembly,buttheotherrelatestoelectronbasicallycanbepiledononehand,assemblylanguageinstructionisusedwithsomecorrespondingmeaningmnemonicsymbolstoe*press,therefore,itshouldbeeasytomasterandusethanmachinelanguage,butontheotherhand,itistodirectlyusetheCPUresources,relativelyadvancedprogramminglanguage,itisdifficulttomaster.Assemblylanguageprogramissummedupaboutthefollowingmaincharacteristics.In1,andmachinecorrelationAssemblylanguageinstructionisakindofsymbolicmachineinstruction,anddifferenttypesofCPUhavedifferentmachineinstructionsystem,alsohavedifferentassemblylanguageassemblylanguageprogram,therefore,iscloselyrelatedwiththemachine.Astheassemblylanguageprogramandmachinecorrelation,so,inadditiontotheseries,variousmodelsofCPUbetweenassemblylanguageprocedureshaveacertaindegreeofportability,otherdifferenttypes(suchas:miniputerandmicroputeretc)betweentheCPUassemblylanguageprogramcannotbetransplanted,thatistosay,thegeneralassemblylanguageprogramandportabilitythanadvancedlanguageprogramislow.In2,theefficientimplementationBecauseofassemblylanguage"andtherelationshipbetweenthecharacteristicsofmachine",programmersuseassemblylanguageprogramming,cangivefullplaytotheirone'sabilityandcleverness,themachineinterioreachkindofresourcesforareasonablearrangement,sothattheywillalwaysbeinthebeststate,thefinalresultis:thee*ecutionoftheprogramcodeisshort,faste*ecutionspeed.Now,thehigh-levellanguagepilerinregisterallocationandobjectcodegeneration,alsohaveacertaindegreeofoptimization(inthefollow-upofthecourse"principles"totherelevantchaptershaveintroduced),butduetothe"optimization"toadapttodifferentsituations,therefore,theseoptimizationstrategiescanonlybemacroscopically,maynotbeinmicrocosmicon,detailsontheoptimization.Andtheuseofassemblylanguageprogrammingisalmostdirectlyinthee*ecutionofthewritecodeprogrammers,programmerscanintheprocedureforeachspecificdetailsontheoptimization,whichistheassemblylanguageprograme*ecutionefficiencyisoneofthereasons.3,writeaprogrample*ityTheassemblerlanguageisakindofmachinelanguage,assemblyinstructionsandmachineinstructionsbasicallyoneonecorresponding,so,assemblyinstructionswithmachineinstructionsasafunctionofasingle,specificcharacteristic.Wanttodosomething(suchasputing:A+B+C),CPUmustbearrangedeverystepofthejob(suchas:tocalculateA+B,thenCisappliedtotheresultoftheformer.).Inaddition,inthepreparationofassemblylanguageprograms,butalsoconsiderthemachineresourceconstraints,assemblerinstructiondetailsandsoon.Astheassemblylanguageprogramtoarrangetheoperationofeverydetail,whichmakeswritingassemblylanguageproceduresmorecumbersome,ple*.Asimplecalculationformulaormethodofcalculation,butalsowithaseriesofpilationinstructionsstepbysteptoachieve.4,debuggingple*ityInmostcases,debuggingassemblylanguageprogramtodebugprogramminglanguagedifficulties,themainreasonsare:four:Assemblylanguageinstructioninvolvesmachineresourcedetails,intheprocessofdebugging,tocleareachresourceschanges;Programmersinthepreparationofassemblylanguageprogram,inordertoimprovetheutilizationrateofresources,canuseavarietyoftechniques,butthesetechniquesmayhavepletelydestroyedthereadabilityoftheprogram.So,intheprocessofdebugging,inadditiontoknoweachinstructione*ecutionfunction,butalsoknowitintheprocessofsolvingthefunction;Advancedlanguageprogramalmostdonote*plicitlyusethe"transfer",buttheassemblylanguageprogramtousealotof,varioustypesoftransferinstructions,thejumpinstructionisgreatlyincreasedthedifficultyofdebuggingprogram.Iftheassemblylanguageprogramalsoemphasizesnotusing"instruction",then,theassemblylanguageprogramwillbeefunctionalmonotonicsequenceprogram,thisisclearlynotrealistic;Debuggingtoolisbackward,advancedlanguageprograminthesourceprogramlevelsymboltracking,andassemblylanguageprogramcanonlykeeptra
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年適用法律咨詢服務(wù)的標(biāo)準(zhǔn)協(xié)議稿版B版
- 二零二五年度創(chuàng)新餐廳經(jīng)營管理權(quán)租賃及品牌推廣協(xié)議2篇
- 2025年度特色商業(yè)樓房使用權(quán)買賣合同書3篇
- 2024消防工程服務(wù)協(xié)議(驗收除外)版B版
- 2024年度代養(yǎng)牛養(yǎng)殖項目融資合作協(xié)議3篇
- 2025版新能源電池企業(yè)董事聘用與產(chǎn)業(yè)鏈整合合同
- 二零二五年度城市基礎(chǔ)設(shè)施建設(shè)項目合同(合同標(biāo)的:某城市道路及橋梁建設(shè))2篇
- 二零二五年度信息技術(shù)行業(yè)實習(xí)生技能提升協(xié)議書3篇
- 2024店面安全保衛(wèi)服務(wù)合同
- 2025年P(guān)2P借貸合同電子化簽署標(biāo)準(zhǔn)范本
- 全面質(zhì)量管理基礎(chǔ)知識
- 國學(xué)故事-《孟母三遷》課件
- 藝術(shù)導(dǎo)論PPT完整全套教學(xué)課件
- 職工代表大會表決辦法
- 專升本英語寫作專題講解課件
- 平安保險授權(quán)委托書
- 員工安全培訓(xùn)教育制度
- 深圳證券交易所
- 各種管道護理評分標(biāo)準(zhǔn)
- 體育賽事志愿者管理
- 復(fù)旦大學(xué)普物B期末考試試卷
評論
0/150
提交評論