計算機組成的一些總結(6)X86指令簡介

2022-08-05 18:48:10 字數 1219 閱讀 4388

x86指令主要包括:運算類指令(算術運算和邏輯運算)、傳送類指令、轉移類指令、控制類指令,一條指令要麼改變通用暫存器的內容,或者改變標誌位,或者改變儲存器單元的內容,或者改變外設埠的內容,或者改變指令指標。

1.傳送指令,作用是把資料或位址傳送到暫存器或儲存單元中。

mov指令(傳送)  push指令(壓棧) pop指令(彈棧)

2.算術運算指令

目的運算元不能是立即數或cs暫存器

兩個運算元不能同時為儲存器運算元

3.邏輯運算和移位指令

shl指令(左移)

shr指令(邏輯右移)相當於無符號數除以2^n的運算

sar指令(算術右移)相當於帶符號數除以2^n的運算

4.轉移指令

(1)無條件轉移指令-直接轉移

短轉移jmp short label 由乙個位元組的操作碼和乙個位元組的位移量組成,執行這條指令時,是將第二個位元組的8位的位移量與當前的指令指標暫存器ip相加,並將結果更新在ip中,位移量是 轉移的目標位址與當前指令指標值的差。

近轉移jmp near ptr label 第乙個位元組的操作碼和兩個位元組的位移量,這樣可以在當前指令指標前後32k位元組的範圍內進行轉移,這是實模式下。從80386開始,近轉移可以使用32位的位移量,這樣可以在前後2g位元組的範圍內進行轉移。

遠轉移jmp far ptr label 遠轉移直接給出了目標位址,而不是與當前指令指標的相對位移。一般是轉移到不同的**段,又稱段間轉移,當執行這條指令時,cpu會取出整條指令的編碼,並將這兩個位元組放入ip暫存器,另外兩個位元組放入cs段暫存器,下一條指令就會通過cs和ip這兩個暫存器中的新的內容計算得到( 實體地址=段基值(cs)*16+偏移量(ip)    ),cpu就會從新的位址取出下一條指令開始執行。

(2)無條件轉移指令-間接轉移

轉移目標位址在暫存器中

轉移目標位址在儲存器中

(3)條件轉移指令

根據當前的狀態標誌位決定是否發生轉移,一般在影響標誌位的算術或邏輯運算指令之後,在8086中,所有的條件轉移都是短轉移,從80386起,條件轉移指令可以使用32位的長位移量,可以在前後2g位元組的範圍內進行轉移。

jc label,在進製標誌cf=1時才會發生轉移

jnz/jne,在不為零/不相等時轉移 zf=0

5.處理器控制指令

控制cpu的功能,對標誌位進行操作

clc,把進製標誌cf清0

nop,空操作,執行nop指令使程式計數器pc加1,常用來延時乙個機器週期。

計算機組成的一些總結(2)計算機的輸入和輸出

輸入輸出與計算機的其他部分相連 cpu是通過控制匯流排 位址匯流排和資料匯流排與儲存器相連的,將控制匯流排分別連線到儲存器和輸入輸出晶元的控制邏輯,位址匯流排也分別連線這兩個部件,資料匯流排也是如此,然後我們將輸入輸出裝置中其中乙個單元連線到手動的開關,這個單元中有8個位元,每個位元連線乙個開關,當...

計算機組成原理基礎的一些概念

初次接觸硬體相關的知識,還作為一門核心專業課,畢竟以前接觸的大部分都是軟體相關的。所以還是有些迷惑的,在此記錄一下一些基本概念,一來方便複習,二來引起自己的重視 計算機的吞吐量 計算機系統的吞吐量是指流入,處理和流出系統的資訊的速率。它取決於資訊能夠多快地輸入記憶體,cpu能夠多快地取指令,資料能夠...

雜談 對計算機組成原理的一些思考

先來了解一下什麼是快閃儲存器 本質是區別就是 斷電後是否資料是否儲存。計算機組成原理的本質是做什麼?資料處理,計算機所有操作所有都是圍繞資料 或者可以理解為0,1 可以分為兩大個方面 1 資料儲存 資料儲存依賴於增刪改查操作得以實現,而儲存的物理介質依賴於磁介質 你也可以粗略理解為磁碟 2 資料傳輸...