當前位置:編程學習大全網 - 源碼下載 - 高分!!為什麽用匯編語言編出的程序要比C語言等高級語言編出的程序的體積要小呀?

高分!!為什麽用匯編語言編出的程序要比C語言等高級語言編出的程序的體積要小呀?

計算機語言從低級到高級可以分為:

機器語言,即由0、1組成的機器硬件可以識別的語言;

低級語言,即匯編語言

中級語言,如C語言

高級語言,如C++,JAVA,C#,Delphi等。

匯編語言是將由0、1組成的機器語言用具有簡單語義的英文代碼表示,以便於理解和程序員編程。匯編語言通常用於對硬件的直接操控。由於匯編語言編寫的程序很小,所以通常在程序中最核心的、控制硬件的代碼可以采用匯編語言編寫,壹方面是安全,另壹方面提高運行速度。

匯編語言(Assembly Language)是面向機器的程序設計語言。

在匯編語合中,用助記符(Memoni)代替操作碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進制碼,就把機器語音變成了匯編語言。於是匯編語言亦稱為符號語言。

使用匯編語言編寫的程序,機器個能直接識別,要由壹種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟件中語言處理系統軟件。匯編語言把匯編程序翻譯成機器語言的過程稱為匯編。

匯編語言比機器語言易於讀寫、易於調試和修改,同時也具有機器語言執行速度快,占內存空間少等優點,但在編寫復雜程序時具有明顯的局限性,匯編語言依賴於具體的機型,不能通用,也不能在不同機型之間移植。

■對於不同型號的計算機,有著不同的結構的匯編語言

匯編語言由於采用了助記符號來編寫程序,比用機器語言的二進制代碼編程要方便些,在壹定程度上簡化了編程過程。匯編語言的特點是用符號代替了機器指令代碼,而且助記符與指令代碼壹壹對應,基本保留了機器語言的靈活性。使用匯編語言能面向機器並較好地發揮機器的特性,得到質量較高的程序。

匯編語言是面向具體機型的,它離不開具體計算機的指令系統,因此,對於不同型號的計算機,有著不同的結構的匯編語言,而且,對於同壹問題所編制的匯編語言程序在不同種類的計算機間是互不相通的。

匯編語言中由於使用了助記符號,用匯編語言編制的程序輸入計算機,計算機不能象用機器語言編寫的程序壹樣直接識別和執行,必須通過預先放入計算機的"匯編程序"的加工和翻譯,才能變成能夠被計算機識別和處理的二進制代碼程序。用匯編語言等非機器語言書寫好的符號程序稱為源程序,運行時匯編程序要將源程序翻譯成目標程序。目標程序是機器語言程序,它壹經被安置在內存的預定位置上,就能被計算機的CPU處理和執行。

匯編語言像機器指令壹樣,是硬件操作的控制信息,因而仍然是面向機器的語言,使用起來還是比較繁瑣費時,通用性也差。但是,匯編語言用來編制系統軟件和過程控制軟件,其目標程序占用內存空間少,運行速度快,有著高級語言不可替代的用途。

至於匯編與編程的區別是顯而易見的,匯編語言是壹種用於編寫某些程序的語言。而編程則是程序員用某種語言編寫程序的過程。

高級語言可以做的壹切,匯編語言都可以實現,而高級語言不能做的,匯編照樣可以,匯編語言的功能不是受限於語言,而是受限於妳的思路,沒有什麽做不出來的。但人們不事事都用匯編的原因就是編程的效率低,匯編語言可以用來編操作系統,但很少使用,都使用c語言,unix,linux,windows等都是用c,原因就是匯編的編程效率低,匯編用在代碼量少,執行效率要求高,空間占用少,硬件編程等領域,比如做病毒,硬件驅動,單片機等領域。

高級語言是壹種人工設計的語言,它對具體的算法進行描述,所以又稱為算法語言。高級語言獨立於計算機的硬件(即與具體的硬件無關),是依靠軟件來譯為機器語言的。這就導致了匯編語言有更好的適應性,不依賴軟件的環境。

  • 上一篇:什麽是白盒測試和黑盒測試?有什麽區別?
  • 下一篇:淘寶客開發淘客App多少錢
  • copyright 2024編程學習大全網