求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

Assembly language檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

來自 新浪網 的圖片

Assembly language(匯編語言)是任何一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。Assembly language能夠輕鬆讀取存儲器狀態以及I/O接口情況,可以準確高效的被執行,具有很強的擴展性。它也具有代碼冗長、編寫困難、容易出BUG而且比較難調試、代碼兼容性差、後期維護不易等缺點。

基本介紹

匯編語言(Assembly Language)是任何一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。在不同的設備中,匯編語言對應着不同的機器語言指令集,通過匯編過程轉換成機器指令。特定的匯編語言和特定的機器語言指令集是一一對應的,不同平台之間不可直接移植。

簡介

匯編語言,即第二代計算機語言,用一些容易理解和記憶的縮寫單詞來代替一些特定的指令,例如:用"ADD"代表加法操作指令,"SUB"代表減法操作指令,以及"INC"代表增加1,"DEC"代表減去1,"MOV"代表變量傳遞等等,通過這種方法,人們很容易去閱讀已經完成的程序或者理解程序正在執行的功能,對現有程序的bug修復以及運營維護都變得更加簡單方便。但計算機的硬件不認識字母符號,這時候就需要一個專門的程序把這些字符變成計算機能夠識別的二進制數或機器語言。因為匯編語言只是將機器語言做了簡單編譯,所以並沒有根本上解決機器語言的特定性,所以匯編語言和機器自身的編程環境息息相關,推廣和移植很難,但是還是保持了機器語言優秀的執行效率,因為他的可閱讀性和簡便性,匯編語言到現在依然是常用的編程語言之一。匯編語言不像其他大多數的程序設計語言一樣被廣泛用於程序設計。在今天的實際應用中,它通常被應用在底層,硬件操作和高要求的程序優化的場合。驅動程序、嵌入式操作系統和實時運行程序都需要匯編語言。

發展歷程

編程語言

自從1946年世界上第一台電子計算機問世,人類和機器的交流方式和語言就成為了軟件工程師和計算機從業者的主要研究方向,更有效更簡便的編程語言成為了軟件工程師的新寵兒,伴隨着計算機的飛速發展,計算機的硬件升級速度也越來越快,對編程語言的要求也日益嚴格。在過去的幾十年,編程語言有了長足的發展,至今已經有四代語言問世。大量的編程語言為了滿足不同領域的編程要求和軟件功能,經歷了被修改,被取代,被發展等過程,最終發展成了現在編程語言的多樣化。儘管人們多次試圖尋找一個能夠適應所有編程環境的通用語言,但是卻沒有一次成功。程序設計語言正在與現代科技日益飛躍,人類的智慧在日益彰顯。

機器語言

計算機的硬件作為一種電路元件,它的輸出和輸入只能是有電或者沒電,也就是所說的高電平和低電平,所以計算機傳遞的數據是由「0」和「1」組成的二進制數,所以說二進制的語言是計算機語言的本質。計算機發明之初,人們為了去控制計算機完成自己的任務或者項目,只能去編寫「0」、「1」這樣的二進制數字串去控制電腦,其實就是控制計算機硬件的高低電平或通路開路,這種語言就是機器語言。直觀上看,機器語言十分晦澀難懂,其中的含義往往要通過查表或者手冊才能理解,使用的時候非常痛苦,尤其當你需要修改已經完成的程序時,這種看起來無序的機器語言會讓你無從下手,也很難找到程序的錯誤。而且,不同計算機的運行環境不同,指令方式操作方式也不盡相同,所以當你在這種機器語言就有了特定性,只能在特定的計算機上執行,而一旦換了機器就需要重新編程,這極大的降低了程序的使用和推廣效率。但由於機器語言具有特定性,完美適配特定型號的計算機,故而運行效率遠遠高過其他語言。機器語言,也就是第一代編程語言。

匯編語言

不難看出機器語言作為一種編程語言,靈活性較差可閱讀性也很差,為了減輕機器語言帶給軟件工程師的不適應,人們對機器語言進行了升級和改進:用一些容易理解和記憶的字母,單詞來代替一個特定的指令。通過這種方法,人們很容易去閱讀已經完成的程序或者理解程序正在執行的功能,對現有程序的bug修復以及運營維護都變得更加簡單方便,這種語言就是我們所說的匯編語言,即第二代計算機語言。

比起機器語言,匯編語言具有更高的機器相關性,更加便於記憶和書寫,但又同時保留了機器語言高速度和高效率的特點。匯編語言仍是面向機器的語言,很難從其代碼上理解程序設計意圖,設計出來的程序不易被移植,故不像其他大多數的高級計算機語言一樣被廣泛應用。所以在高級語言高度發展的今天,它通常被用在底層,通常是程序優化或硬件操作的場合。

高級語言

在編程語言經歷了機器語言,匯編語言等更新之後,人們發現了限制程序推廣的關鍵因素——程序的可移植性。需要設計一個能夠不依賴於計算機硬件,能夠在不同機器上運行的程序。這樣可以免去很多編程的重複過程,提高效率,同時這種語言又要接近於數學[1]語言或人的自然語言。在計算機還很稀缺的50年代,誕生了第一個高級編程語言。當時計算機的造價不菲,但是每天的計算量又有限,如何有效的利用計算機有限的計算能力成為了當時人們面對的問題。同時,因為資源的稀缺,計算機的運行效率也成為了那個年代工程師追尋的目標。為了更高效的使用計算機,人們設計出了高級編程語言[2],來滿足人們對於高效簡潔的編程語言的追求。

參考文獻