指令,指令系統,程式,機器語言,組合語言之間有什麼關係

時間 2021-09-02 04:45:43

1樓:

指令,是cpu硬體設計時確定的、能夠完成特定操作的二進位制格式的**。

指令系統,是某類cpu所能執行的所有指令的總和。

程式,是完成特定任務的多條指令構成的指令序列。

機器語言,是一種程式語言,它直接用二進位制指令格式編寫或構造程式。

組合語言,是一種程式語言,它將機器指令用易於理解和記憶的單詞或單詞縮寫符號來描述,用它寫出的程式需要翻譯成機器語言程式後才能執行,不過翻譯非常非常簡單。

2樓:

(1)如果需要準確的定義,請查詢相關資料。

(2)指令是一組編碼,告訴cpu具體做什麼操作,指令系統則是某cpu能譯碼執行的指令集合,如對於80x86cpu來說:

給暫存器置一個數的指令

向某埠輸出一個數的指令

等等,那包括上述指令的所有8086cpu能執行的指令,就稱為"8086指令系統"

(3)機器語言,是用2進位制形式編碼的cpu指令,如90h就表示什麼也不做的指令。

(4)組合語言,是將機器語言用字串行形式表示的指令,如前面提到的90h,可以用nop來編寫,由彙編編譯器將它變成90h。為什麼這樣?因為,nop、out,move等顯示比90h、7f,0h,3dh、0 0又容易記,又方便讀。

(5)之間的關係:指令是cpu可執行的單個能命令,由所有可執行指令組成指令系統,然後我們可以用指令系統中的某些指令程式設計,直接用指令的二進位制碼程式設計的機器語言即不好記也不好讀,我就用字串來表示指令,程式設計時,就相關等用語言來寫程式,然後有編譯器把它變成cpu認識的機器語言程式。

另,不好意思,發了給才發現已經有人答了。既然已經寫好了,就放在這兒吧,諒!

3樓:匿名使用者

機器語言是指能在一個處理器上執行的**序列。

組合語言,是機器語言的助記符,如mov ax,bx, 一般一條組合語言對應一條機器指令。

程式:通常指程式設計師編寫的程式原始檔**,需要編譯器編譯成彙編**(也叫彙編程式),然後再彙編成機器**。

指令:指一個處理器能處理的基本命令,如mov指令。

指令系統:指一個處理器能處理的一系列指令,我們一般把相似的指令組合在一起成為一個指令系統,如精簡指令系統risc,複雜指令系統cisc。

一個計算機系統中:

處理器的指令是最基本的單元,指令系統則表徵了這個處理器能處理那類指令。

而機器語言,應該叫機器**,則是可以被處理器直接處理的一組指令序列。

彙編和程式則是要經過編譯後 變成機器**才能執行的。

編寫高階語言源程式的目的就是要產生最終的機器**序列。

如果程式是指可「執行檔案」,則程式是一個包含可執行**和資料的一個複合體。可以被作業系統載入和執行。

組合語言指令 JMP BYTE PTR

兔老大米奇 jmp指令的運算元是地址,實際執行效果是修改ip的值。由於byte ptr使得bx指向的資料為位元組型別,而ip為字型別,資料型別不匹配,故該指令不正確。指令的正確寫法可以是jmp word ptr bx 此時將bx指向的字型別資料賦給ip 或者jmp dword ptr bx 該指令把...

組合語言中的返回指令rst問題,組合語言中的返回指令Rst問題

先澄清一下你問得模糊的地方。1 你說的 rst 返回指令應該是 ret 吧?2 sp 不叫堆疊指令,它是堆疊指標,估計是stack pointer的首字母。該指標總是指向堆疊的棧頂,即始終存放的是棧頂的地址。堆疊的工作原理可簡述為 後進先出 即lifo,last in first out。具體解釋請...

有關組合語言指令的問題

mov al,ebx 將ebx為地址中的內容放到al中,其中ebx為32位元暫存器,只使用低16位 mov eax,table bx 應該是talbe bx 吧,就是把段地址為table,偏移地址為bx的內容放到eax中,同上,只使用低16位 mov ax,ebx esi 將偏移地址ebx與變址es...