"": 200,
"": "",
"": "彙編語言(AssemblyLanguage)是麵向機器的程序設計語言。在彙編語合中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進製碼,就把機器語言變成了彙編語言。於是彙編語言亦稱為符號語言。使用彙編語言編寫的程序,機器不能直接識別,要由一種程序將彙編語言翻譯成機器語言,這種起翻譯作用的程序叫彙編程序,彙編程序是係統軟件中語言處理係統軟件。彙編程序把彙編語言翻譯成機器語言的過程稱為彙編。中國著名計算機科學教育家王爽寫過一本名叫《彙編語言》的書。
彙編語言是一種功能很強的程序設計語言,也是利用計算機所有硬件特性並能直接控製硬件的語言。彙編語
彙編語言
言,作為一門語
彙編語言言,對應於高級語言的編譯器,需要一個“彙編器”來把彙編
語言原文件彙編成機器可執行的代碼。高級的彙編器如MASM,TASM等等為我們寫彙編程序提供了很多類似於高級語言的特征,比如結構化、抽象等。在這樣的環境中編寫的彙編程序,有很大一部分是麵向彙編器的偽指令,已經類同於高級語言。現在的彙編環境已經如此高級,即使全部用彙編語言來編寫windows的應用程序也是可行的,但這不是彙編語言的長處。彙編語言的長處在於編寫高效且需要對機器硬件精確控製的程序。
大多數情況下Linux程序員不需要使用彙編語言,因為即便是硬件驅動這樣的底層程序在Linux操作係統中也可以完全用C語言來實現,再加上GCC這一優秀的編譯器目前已經能夠對最終生成的代碼進行很好的優化,的確有足夠的理由讓我們可以暫時將彙編語言拋在一邊了。但實際情況是Linux程序員有時還是需要使用彙編,或者不得不使用彙編,理由很簡單:精簡、高效和libc無關性。假設要移植Linux到某一特定的嵌入式硬件環境下,首先必然麵臨如何減少係統大小、提高執行效率等問題,此時或許隻有彙編語言能幫上忙了。
優點
彙編語言直接同計算機的底層軟件甚至硬件進行交互,它具有如下一些優點:
二進製碼
二進製碼(1)能夠直接訪問與硬件相關的存儲器或I\/O端口;
獲取最新章節更新,請訪問𝑜𝑜𝑝.𝑡𝑤
(2)能夠不受編譯器的限製,對生成的二進製代碼進行完全的控製;
(3)能夠對關鍵代碼進行更準確的控製,避免因線程共同訪問或者硬件設備共享引起的死鎖;
(4)能夠根據特定的應用對代碼做最佳的優化,提高運行速度;
(5)能夠最大限度地發揮硬件的功能。
缺點
同時還應該認識到,彙編語言是一種層次非常低的語言,它僅僅高於直接手工編寫二進製的機器指令碼,因此不可避免地存在一些缺點:
(1)編寫的代碼非常難懂,不好維護;
(2)很容易產生bug,難於調試;
(3)隻能針對特定的體係結構和處理器進行優化;
(4)開發效率很低,時間長且單調。
特點
彙編語言比機器語言易於讀寫、調試和修改,同時具有機器語言全部優點。但在編寫複雜程序時,相對高級語言代碼量較大,而且彙編語言依賴於具體的處理器體係結構,不能通用,因此不能直接在不同處理器體係結構之間移植。
彙編語言的特點:
1.麵向機器的低級語言,通常是為特定的計算機或係列計算機專門設計的。
2.保持了機器語言的優點,具有直接和簡捷的特點。
3.可有效地訪問、控製計算機的各種硬件設備,如磁盤、存儲器、CPU、I\/O端口等。
。言語計設序程的效高是,快度速行執,少存內用占,短簡碼代標目.4
。泛廣分十用應,用使合配言語級高與常經.5
言語編彙的構結的同不著有,機算計的號型同不於對
。序程的高較量質到得,性特的器機揮發地好較並器機向麵能言語編彙用使。性活靈的言語器機了留保本基,應對一一碼代令指與符記助且而,碼代令指器機了替代號符用是點特的言語編彙。程過程編了化簡上度程定一在,些便方要程編碼代製進二的言語器機用比,序程寫編來號符記助了用采於由言語編彙
。的通相不互是間機算計的類種同不在序程言語編彙的製編所題問一同於對,且而,言語編彙的構結的同不著有,機算計的號型同不於對,此因,統係令指的機算計體具開不離它,的型機體具向麵是言語編彙
。行執和理處UPC的機算計被能就,上置位定預的存內在置安被它當,序程言語器機是序程標目。序程標目成譯翻序程源將要序程編彙時行運,序程源為稱序程號符的好寫書言語器機非等言語編彙用。序程碼代製進二的理處和別識接直機算計被夠能成變能才,譯翻和工加行進中"\序程編彙"\的機算計入放先預過通須必,行執和別識接直樣一序程的寫編言語器機用象能不機算計,機算計入輸序程的製編言語編彙用,號符記助了用使於由中言語編彙
。途用的代替可不言語級高著有,快度速行運,少間空存內用占序程標目其,件軟製控程過和件軟統係製編來用言語編彙,是但。差也性用通,時費瑣繁較比是還來起用使,言語的器機向麵是然仍而因,息信製控的作操件硬是,樣一令指器機像言語編彙
用應
能它為因,疑置庸勿卻性要重但,廣很算不圍範的用應然雖言語編彙,一之言語程編的本基最為作言語編彙
計設序程言語編彙
它其多許成完夠
用是碼代分部大絕然雖,講來核內xuniL拿就。能功的成完法無所言語計設序程言語編彙
。能性的件硬揮發地度限大最,短避長揚好很夠能則言語編彙而,心從不力些有會也言語C是使即,切密常非係關的件硬與碼代分部這於由。分部動啟的xuniL在是要主中其,碼代編彙了用使方地鍵關些某在地免避可不然仍但,的寫編言語C
7.1