電腦能夠直接辨識的機器語言是由操作碼和操作數兩部分組成的,操作碼規定了指令的操作,是指令中的關鍵字,不能缺省;操作數表示該指令的操作對象,電腦的指令格式與機器的字長、記憶體的容量、指令的功能都有很大的關係。
機器語言是機器能直接辨識的程式語言
或指令代碼
,勿需經過翻譯,每一操作碼在電腦內部都有相應的電路來完成它,或指不經翻譯即可為機器直接理解和接受的程式語言或指令代碼。機器語言使用絕對位址和絕對操作碼。不同的計算機都有各自的機器語言,即指令系統。從使用的角度來看,機器語言是最低階的語言。
機器語言指令是一種二進位程式碼,由操作碼和運算元兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能缺省。操作數表示該指令的操作對象。電腦的指令格式與機器的字長、記憶體的容量及指令的功能都有很大的關係。
從便於程式設計、增加基本操作並行性、提高指令功能的角度來看,指令中應包含多種資訊。但在有些指令中,由於部分資訊可能無用,這將浪費指令所佔的儲存空間,並增加了訪問次數,也許反而會影響速度。
因此,如何合理、科學地設計指令格式,使指令既能給出足夠的信息,又使其長度盡可能地與機器的字長相匹配,以節省存儲空間,縮短取值時間,提高機器的效能,這是指令格式設計的重要問題。
計算機是透過執行指令來處理各種資料的。為了指出資料的來源、操作結果的去向及所執行的操作,一條指令必須包含下列資訊:
(1)操作碼。它具體說明了操作的性質及功能。一台電腦可能有數十條至幾百條指令,每一條指令都有一個對應的操作碼,電腦透過辨識該操作碼來完成不同的操作。
(2)操作數的位址。 CPU透過該位址就可以取得所需的操作數。
(3)操作結果的儲存位址。將操作數的處理所產生的結果保存在該位址中,以便再次使用。
(4)下條指令的位址。執行程序時,大多數指令依序從主記憶體取出執行,只有在遇到轉移指令時,程式的執行順序才會改變。為了壓縮指令的長度,可以用一個程式計數器(ProgramCounter,PC)來存放指令位址。每執行一條指令,PC的指令位址就會自動 1(設指令只佔一個主記憶體),指出將要執行的下一指令的位址。當遇到執行轉移指令時,則用轉移位址修改PC的內容。由於使用了PC,指令中就不必明顯地給出下一條將要執行指令的位址。
一條指令其實包含兩種資訊即操作碼
和位址碼
。操作碼(OperationCode,OP)用來表示該指令所要完成的操作(如加、減、乘、除、資料傳送等),其長度取決於指令系統中的指令條數。位址碼用來描述該指令的操作對象,它或直接給出操作數,或指出操作數的記憶體位址或暫存器位址(即暫存器名稱)。
#想了解更多程式設計學習,請關注php培訓欄位!
以上是電腦能夠直接辨識的機器語言是由什麼組成的的詳細內容。更多資訊請關注PHP中文網其他相關文章!