首頁 > 常見問題 > 主體

機器語言是什麼

WBOY
發布: 2022-07-20 10:51:28
原創
30861 人瀏覽過

機器語言是一種指令集的體系;機器語言是機器能直接辨識的程式語言或指令碼,無需經過翻譯,每一操作碼在電腦內部都有對應的電路來完成,或指不經翻譯即可為機器直接理解和接受的程式語言或指令代碼,機器語言是用來定義電腦程式的形式語言,用來向電腦發出指令。

機器語言是什麼

本教學操作環境:windows10系統、DELL G3電腦。

機器語言是一種指令集的系統

機器語言是機器能直接辨識的程式語言或指令碼,無需經過翻譯,每一操作碼在電腦內部都有對應的電路來完成它,或指不經翻譯即可為機器直接理解和接受的程式語言或指令代碼。機器語言使用絕對位址和絕對操作碼。不同的計算機都有各自的機器語言,即指令系統。從使用的角度來看,機器語言是最低階的語言。

簡單介紹

程式語言是用來定義電腦程式的形式語言,用來向電腦發出指令。電腦語言數量很多,每年都會產生大量新的程式語言。以層次來分,程式語言可分為3類:機器語言、組合語言和高階語言。機器語言由機器指令集構成,能夠直接被機器執行。機器語言寫的程式有不便於閱讀、難以記憶的問題。彙編語言本質上也是直接對硬體操作,由於採用了助記符,相比機器語言更方便書寫與閱讀。在高階語言中,將多條組譯程式語句合併成更簡潔的程式語句,同時自動完成一些如堆疊、暫存器分配管理等工作,更方便程式設計師開發程式  。

機器語言是用二進位程式碼表示的電腦能直接辨識和執行的一種機器指令的集合。它是電腦的設計者透過電腦的硬體結構賦予電腦的操作功能。機器語言具有靈活、直接執行和速度快等特點。不同型號的計算機其機器語言是不相通的,按著一種計算機的機器指令編制的程序,不能在另一種計算機上執行。

一條指令就是機器語言的一個語句,它是一組有意義的二進位代碼,指令的基本格式如,操作碼字段和地址碼字段,其中操作碼指明了指令的操作性質及功能,位址碼則給出了操作數或操作數的位址。

用機器語言寫程序,程式設計人員要先熟記所用電腦的全部指令碼和程式碼的涵義。手編程式時,程式設計師得自己處理每個指令和每一資料的儲存分配和輸入輸出,還要記住程式設計過程中每步驟所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作。編寫程式所花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程式全是些0和1的指令碼,直覺性差,還容易出錯。除了電腦生產廠商的專業人員外,絕大多數的程式設計師已經不再去學習機器語言了。

指令格式

機器語言指令是一種二進位程式碼,由操作碼和運算元兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能缺省。操作數表示該指令的操作對象。電腦的指令格式與機器的字長、記憶體的容量及指令的功能都有很大的關係。從便於程式設計、增加基本操作並行性、提升指令功能的角度來看,指令中應包含多種資訊。但在有些指令中,由於部分資訊可能無用,這將浪費指令所佔的儲存空間,並增加了訪問次數,也許反而會影響速度。因此,如何合理、科學地設計指令格式,使指令既能給出足夠的信息,又使其長度盡可能地與機器的字長相匹配,以節省存儲空間,縮短取值時間,提高機器的性能,這是指令格式設計的重要問題。

計算機是透過執行指令來處理各種資料的。為了指出資料的來源、操作結果的去向及所執行的操作,一條指令必須包含下列資訊:

(1)操作碼。它具體說明了操作的性質及功能。一台電腦可能有數十條至幾百條指令,每一條指令都有一個對應的操作碼,電腦透過辨識該操作碼來完成不同的操作。

(2)操作數的位址。 CPU透過該位址就可以取得所需的操作數。

(3)操作結果的儲存位址。將操作數的處理所產生的結果保存在該位址中,以便再次使用。

(4)下條指令的位址。執行程序時,大多數指令依序從主記憶體取出執行,只有在遇到轉移指令時,程式的執行順序才會改變。為了壓縮指令的長度,可以用一個程式計數器(ProgramCounter,PC)來存放指令位址。每執行一條指令,PC的指令位址就會自動 1(設指令只佔一個主記憶體),指出將要執行的下一指令的位址。當遇到執行轉移指令時,則用轉移位址修改PC的內容。由於使用了PC,指令中就不必明顯地給出下一條將要執行指令的位址。

更多相關知識,請造訪常見問題欄位!

以上是機器語言是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!