機器怎麼識別匯編指令
⑴ 計算機能夠直接識別的語言是什麼語言匯編語言是什麼
機器語言,匯編語言是面向機器的程序設計語言。
1、機器語言
機器語言是機器能直接識別的程序語言或指令代碼,無需經過翻譯,每一操作碼在計算機內部都有相應的電路來完成它,或指不經翻譯即可為機器直接理解和接受的程序語言或指令代碼。
2、匯編語言
匯編語言是任何一種用於電子計算機、微處理器、微控制器或其他可編程器件的低級語言,亦稱為符號語言。
在匯編語言中,用助記符代替機器指令的操作碼,用地址符號或標號代替指令或操作數的地址。
(1)機器怎麼識別匯編指令擴展閱讀:
指令:
1、機器語言
機器語言指令是一種二進制代碼,由操作碼和操作數兩部分組成。操作碼規定了指令的操作,是指令中的關鍵字,不能預設。操作數表示該指令的操作對象。
計算機的指令格式與機器的字長、存儲器的容量及指令的功能都有很大的關系。從便於程序設計、增加基本操作並行性、提高指令功能的角度來看,指令中應包含多種信息。
但在有些指令中,由於部分信息可能無用,這將浪費指令所佔的存儲空間,並增加了訪存次數,也許反而會影響速度。
因此,如何合理、科學地設計指令格式,使指令既能給出足夠的信息,又使其長度盡可能地與機器的字長相匹配,以節省存儲空間,縮短取值時間,提高機器的性能,這是指令格式設計中的一個重要問題。
2、匯編語言
由於匯編指令系統龐大,因而需構建指令系統體系,其指令數量龐大,格式復雜,可記憶性差等。指令中最難的是指令所支持的定址方式,其實質就是指令中操作數如何獲取。
對於處理器而言,就是如何找到他所需的數據。但對於計算機底層的匯編語言而言,這種定址方式將涉及大量的計算存儲格式,與復雜的存儲管理方式緊密相關,因而難以理解。
最後,匯編指令還關繫到如何影響標志位,但處理器標志位非常復雜,因而對其機制掌握就比較困難。
參考資料來源:網路——機器語言
參考資料來源:網路——匯編語言
⑵ 匯編中 機器是怎麼識別一個數的正負的
靠指令區別,如果指令用的是無符號指令,那麼CPU就認為10000001
是無符號的,反之則是有符號比如
無符號的乘法
mul有符號的乘法
imul
⑶ 機器是怎麼識別命令的
指令和數據都是應用上的概念。匯編語言,通過編譯器編譯,最後送給CPU的都是二進制數,那麼CPU在一堆紛繁復雜的二進制,0110000110001中如何區分指令和數據呢?
我們需要明白以下幾點:
(1)每台機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。二進制,作為一種機器碼,計算機可以直接識別,不需要進行任何翻譯
(2)計算機硬體主要通過不同的時間段來區分指令和數據,即:取指周期(或取指微程序)取出的既為指令,執行周期計算機載入的第一條肯定是指令,然後根據這條指令去取二進制數,如果這條指令要取操作數,那麼取出來的就是操作數;如果這條指令要取下一條指令,那麼取出來得就是指令。
(3)把指令和數據分開放是為了安全和邏輯結構清晰。
(4)雖然指令和數據存放的格式一樣,但是訪問他們的時機不同。在取指令時期,cpu通過指令流取指令,存放在指令寄存器,
然後解釋並執行指令;在執行指令時期,cpu通過數據流取數據, 存放在數據寄存器。 所以指令流取的是指令,數據流取的是數據。
⑷ 怎麼才能知道匯編指令所對應的機器碼
前者32位的可以用靜態反匯編軟體如W32Dasm
後者根據CPU不同會不同
⑸ CPU如何識別操作系統的指令
操作系統屬於系統軟體,跟平時的應用軟體從本質上來說是一樣的版,都是用高級語言(內核部分權可能會用部分匯編)編寫的代碼,代碼本身是不能被CPU識別的,只能被人讀懂。系統軟體需要經過編譯器編譯生成匯編代碼,在經過匯編翻譯成機器碼,此時的機器碼可以被CPU識別。CPU本身也不是純硬體的東東,每一個CPU都在設計之初設計了自己的一套指令集,該指令集指揮CPU對讀取的指令做相應的操作。所以,軟體編譯後生成的exe文件其實是二進制的機器碼,這些機器碼對應一個個指令。CPU運行軟體實質上是從內存中將exe文件中的機器碼指令讀取出來去按照指令的要求做相應的動作,如操作磁碟或者驅動顯示器顯示等等。這部分內容最好能看一下《微機原理》一書,普及一下基本概念。
⑹ 怎麼才知道匯編指令對照的機器指令有什麼數學演算法可以互相轉換這匯編和機器指令
這不是算的,是對表查出來的。就像ASCII表一樣,A對應65 a對應97。匯編指內令其實是機器碼助記符的容代名詞而已,它倆本就是一樣一樣滴。想要知道匯編指令對應的機器碼是多少可以通過查表或者用trubo debug軟體或者MS-DOS的DOS窗口下debug查詢。
⑺ 計算機如何區分指令和數據
其實這個很簡單的,通過不同的時間段來區分指令和數據,即在取指令階段(或取指微程序)取出的為指令,在執行指令階段(或相應微程序)取出的即為數據。如果通過地址來源區分,由PC提供存儲單元地址的取出的是指令,由指令地址碼部分提供存儲單元地址的取出的是操作數。
拓展資料:
指令和數據都是應用上的概念。匯編語言,通過編譯器編譯,最後送給CPU的都是二進制數,那麼CPU在一堆紛繁復雜的二進制,0110000110001中如何區分指令和數據呢?
我們還需要明白以下幾點:
每台機器的指令,其格式和代碼所代表的含義都是硬性規定的,故稱之為面向機器的語言,也稱為機器語言。二進制,作為一種機器碼,計算機可以直接識別,不需要進行任何翻譯。
計算機硬體主要通過不同的時間段來區分指令和數據,即:取指周期(或取指微程序)取出的既為指令,執行周期計算機載入的第一條肯定是指令,然後根據這條指令去取二進制數,如果這條指令要取操作數,那麼取出來的就是操作數;如果這條指令要取下一條指令,那麼取出來得就是指令。
把指令和數據分開放是為了安全和邏輯結構清晰。
雖然指令和數據存放的格式一樣,但是訪問他們的時機不同。在取指令時期,cpu通過指令流取指令,存放在指令寄存器, 然後解釋並執行指令;在執行指令時期,cpu通過數據流取數據, 存放在數據寄存器。 所以指令流取的是指令,數據流取的是數據。
⑻ 計算機中的機器語言、匯編語音和高級語言如何區分
計算機語言也稱程序設計語言。即編寫計算機程序所用的語言。計算機語言是人和計算機交流信息的工具。我們通過它指揮計算機如何工作,因此它是軟體的重要組成部分。
粗略地分為機器語言、匯編語言和高級語言。高級語言是接近習慣使用的自然語言和數學語言的計算機程序設計語言。它獨立於計算機。用戶可以不了解機器指令,也可以不必了解機器的內部結構和工作原理,就能用高級語言編程序。高級語言通用性好、易學習、易使用、不受機器型號的限制,而且易於交流和推廣,像我們知道的BASIC、C、PASCAL等都是高級語言。
1.什麼是機器語言
機器語言是計算機硬體能夠識別的,不用翻譯直接供機器使用的程序設計語言,也被稱為手編語言。不同機型的機器語言是不同的。機器語言是用二進制數表示的指令代碼,這種指令代碼是由操作碼和地址組成。指令代碼構成了機器語言的語句.也稱為機器指令。機器語言執行速度很快.但編寫和調試都很繁瑣。
2.什麼是匯編語言
匯編語言(Assembly Language)是面向機器的程序設計語言。
地址碼。這樣用符號代替機器語盲的二進制碼,就把機器語音變成了匯編語言。於是匯編語言亦稱為符號語言。
使用匯編語言編寫的程序,機器個能直接識別,要由一種程序將匯編語言翻譯成機器語言,這種起翻譯作用的程序叫匯編程序,匯編程序是系統軟體中語言處理系統軟體。匯編語言把匯編程序翻譯成機器語言的過程稱為f匯編。
匯編語言比機器語言易於讀寫、易於調試和修改,同時也具有機器語言執行速度快,占內存空間少等優點,但在編寫復雜程序時具有明顯的局限性,匯編語言依賴於具體的機型,不能通用,也不能在不同機型之間移植
3.什麼是高級語言
高級語言的語句是梢彩自然語匯,並使用與自然語言相近的語法體系,高級語言編寫的程序更易於閱讀和理解。高級語言的語句是面向問題的.而不是面向機器的。對問題和其求解的表述比匯編語言更容易理解。這樣更加簡化了程序的編寫和調試,編程序的效率會大大提高。高級語言獨立於具體的計算機。又大大增加了通用性和可移植性。
世界上已有數百種高級語言,用得最普遍的有FORTRAN、PASCAL、C、LISP、PROLOG和BASIC等等。
希望可以幫到您!
⑼ 計算機cpu指令解碼器可識別的指令被稱為什麼 是匯編語句還是機器指
指令解碼器識別的指令應該是叫做指令集
指令集又分RISC和CISC。
其實應該是這樣的順序
匯編語句 編譯以後 變成了 二進制代碼 然後二進制代碼其實包含對硬體各個邏輯門的控制,當然里的指令就是從指令集裡面找到的所需要的指令,然後直接控制CPU去工作。
其實二進制代碼裡面就是包含了機器指令
而匯編語言編譯好之後運行,裡面又有指令區和數據區的。
指令其實有分種類,不僅有操作數據的,還有數學運算,邏輯運算等等的,具體名詞書上有寫,我忘了。。
⑽ 匯編指令和機器碼是怎麼樣轉換的我是菜鳥
為你正確解答:
匯編指令和機器碼的轉換:
是通過查表完成的。
可以手工查表
也可回以由計算機的軟體答查表
由計算機程序自動查表翻譯完成。
因為匯編指令
實際就是助記符,CPU
有一條機器指令
就用一個便於記憶的助記符表示成一個匯編指令
所以
二者是一一對應的
例如:
空操作的匯編指令是
nop
而其機器指令為
00
H
二者是一一對應的關系
翻譯時可以查表
解決。就好象在數學用表上
查找根號47一樣。
目前均採用由軟體自動轉換的
如可以使用MESM宏匯編軟體將8086CPU的匯編程序翻譯成機器代碼。