8088

8088

8088是一個Intel以8086為基礎的微處理器,擁有16位元暫存器和8位元外部資料匯流排。8088使用8位元的設計,所針對的是較為經濟之系統。在它推出時候,大的資料匯流排寬度電路板還是相當地昂貴。8088的預取(prefetch)貯列(queue)是4位元組,相對於8086的是6位元組。1979年,英特爾公司開發出了8088。8086和8088在晶元內部均採用16位數據傳輸,所以都稱為16位微處理器,但8086每周期能傳送或接收16位數據,而8088每周期只採用8位。因為最初的大部分設備和晶元是8位的,而8088的外部8位數據傳送、接收能與這些設備相兼容。

發展歷程


INtel 8086 CPU
INtel 8086 CPU
在取得IBM個人電腦部門敲定的重要銷售合約之後,Intel8088處理器不僅成為了IBM個人電腦的大腦,而且還讓IBM個人電腦成為新款暢銷產品。為此,Intel8088處理器的成功,也使英特爾進入“財富雜誌500大企業排行榜”,《財富》雜誌將英特爾評為“70年代最成功的企業”之一。Intel8088晶體管數目約為2.9萬顆。
1979年,英特爾公司又開發出了8088。088採用40針的DIP封裝,工作頻率為6.66MHz、7.16MHz或8MHz,微處理器集成了大約29000個晶體管。
8086和8088問世后不久,英特爾公司就開始對他們進行改進。他們將更多功能集成在晶元上,這樣就誕生了80186和80188。這兩款微處理器內部均以16位工作,在外部輸入輸出上80186採用16位,而80188和8088一樣是採用8位工作。
1981年,IBM公司將8088晶元用於其研製的PC機中,從而開創了全新的微機時代。也正是從8088開始,個人電腦(PC)的概念開始在全世界範圍內發展起來。從8088應用到IBMPC機上開始,個人電腦真正走進了人們的工作和生活之中,它也標誌著一個新時代的開始。

功能結構


8088CPU內部用兩個獨立的功能部件組成,分別為BIU和EU。
BIU(BusInterfaceUnit)BIU由段寄存器、IP、指令隊列、地址加法器和控制邏輯組成。
BIU的功能是負責從內存中取指令送入指令隊列,實現CPU與存儲器、I/O介面之間的數據傳送。
EU(ExecutionUnit)EU由通用寄存器、F寄存器、ALU和EU控制部件組成。EU的功能是分析指令和執行指令。
8088BIU結構8088EU結構
8088
8088
8088
8088

定址方式


8088
8088
定址方式是指在指令中用以說明操作數所在地址(位置)的方法。段超越不是按照系統的約定,而是在指令中指定某一段寄存器作為存儲器操作數的段地址。
[注]8086/8086指令系統對存儲單元的訪問,其段地址都是從系統事先約定好的段寄存器中獲取,若不遵循系統的約定,則要制定段寄存器,即段超越。
操作數的定址方式
(1)立即定址方式:操作數含在指令代碼中,由指令直接給出。
例如:MOVAL,50
MOVBX,1000H
(2)寄存器定址方式:指令中指定某個寄存器的內容作為操作數。
例如:MOVAL,BL
ADDAL,5
MOVDATA,AL
(3)直接定址方式:指令中直接給出操作數的地址(偏移地址)。
例如:MOVAL,[100H]
MOVBX,ES:[100H]
MOVDATA,-1
MOVBYTEPTR[1000H],0
(4)寄存器間接定址方式:指令中指定某個寄存器(SI、DI、BX、BP)中的一個內容作為操作數的地址(偏移地址)。
例如:MOVAX,
MOV,AL
MOVDS:,AX
MOVWORDPTR[SI],-1
(5)寄存器相對定址方式:指令中指定某寄存器內容與一個位移量相加作為操作數的地址(偏移地址)。
例如:MOVAX,[SI+2]
MOV,AL
ADDBYTEPTR,5
MOVBX,DATA[SI]
MOVDATA,0
(6)基址變址定址方式:指令中,指定一變址寄存器內容與基址寄存器內容相加作為操作數的地址。
例如:MOVAL,
MOV[DI+BX],DX
ADD,AL

指令系統


8088
8088
MOV傳輸指令
1.數據傳送指令(包括:MOV傳送指令、堆棧操作指令、數據交換指令、地址傳送指令、標誌寄存器傳送指令、換碼指令、輸入輸出指令)
數據傳送指令的特點:將數據從一個地址傳送到另一個地址;數據在傳送過程中不發生任何變化;對標誌寄存器的內容無任何影響。
2.算術運算指令(包括:加法指令、減法指令、乘法指令、除法指令、十進位調整指令)
算術運算指令的特點:對狀態標誌位有影響;源操作數不變;目標操作數多數情況下發生變化。
3.邏輯運算和移位指令(包括:邏輯運算指令、移位指令、循環指令)
4.串操作指令(包括:MOVS指令、LODS指令、STOS指令、SCAS指令、CMPS指令)
重複操作前綴REP;REPZ/REPE;REPNZ/REPNE
串指令;若(CX)≠0,重複執行串指令
串指令;若(CX)≠0且(ZF)=1,重複執行串指令
串指令;若(CX)≠0且(ZF)=0,重複執行串指令偶就
5.控制轉移指令(包括:無條件轉移指令、條件轉移指令、循環控制指令、子程序調用指令、子程序返回指令、中斷返回指令)
控制轉移指令的特點:將目標地址送入IP、CS從而實現轉移。