8086微處理器

8086微處理器

8086微處理器是一個由Intel於1978年所設計的16位微處理器晶片,是x86架構的鼻祖。

基本介紹

  • 中文名:8086微處理器
  • 意義:x86架構的鼻祖
  • WR/(write:):寫信號,輸出,低電平有效
  • 設計時間:1978年
簡介,指令集,

簡介

8086微處理器
2.CPU工作於最小模式時使用的引腳信號
</strong>
當引腳接高電平時,CPU工作於最小模式。此時,引腳信號24~31的含義及其功能如下。
⑴IO/M/(memoryI/Oselect):存儲器、I/O連線埠選擇控制信號。
信號指明當前CPU是選擇訪問存儲器還是訪問I/O連線埠。為高電平時,訪問存儲器,表示當前要進行CPU與存儲器之間的數據傳送。為低電平時,訪問I/O連線埠,表示當前要進行CPU與I/O連線埠之間的數據傳送。
⑵WR/(write):寫信號,輸出,低電平有效。
信號有效時,表明CPU正在執行寫匯流排周期,同時由信號決定是對存儲器還是對I/O連線埠執行寫操作。
⑶INTA/(interruptacknowledge):可禁止中斷回響信號,輸出,低電平有效。
CPU通過信號對外設提出的可禁止中斷請求做出回響。為低電平時,表示CPU已經回響外設的中斷請求,即將執行中斷服務程式。
⑷ALE(addresslockenable):地址鎖存允許信號,輸出,高電平有效。
CPU利用ALE信號可以把AD15~AD0地址/數據、A19/S6~A16/S3地址/狀態線上的地址信息鎖存在地址鎖存器中。
⑸DT/(datatransmitorreceive):數據傳送/接收信號,輸出,三態。
DT/信號用來控制數據傳送的方向。DT/為高電平時,CPU傳送數據到存儲器或I/O連線埠;DT/為低電平時,CPU接收來自存儲器或I/O連線埠的數據。
⑹DEN/(dataenable):數據允許控制信號,輸出,三態,低電平有效。
信號用作匯流排收發器的選通控制信號。當為低電平時,表明CPU進行數據的讀/寫操作。
⑺HOLD(busholdrequest):匯流排保持請求信號,輸入,高電平有效。
在DMA數據傳送方式中,由匯流排控制器8237A發出一個高電平有效的匯流排請求信號,通過HOLD引腳輸入到CPU,請求CPU讓出匯流排控制權。
⑻HLDA(holdacknowledge):匯流排保持回響信號,輸出,高電平有效。
HLDA是與HOLD配合使用的聯絡信號。在HLDA有效期間,HLDA引腳輸出一個高電平有效的回響信號,同時匯流排將處於浮空狀態,CPU讓出對匯流排的控制權,將其交付給申請使用匯流排的8237A控制器使用,匯流排使用完後,會使HOLD信號變為低電平,CPU又重新獲得對匯流排的控制權。
3.CPU工作於最大模式時使用的引腳信號
</strong>
當引腳接低電平時,CPU工作於最大模式。此時,引腳信號24~31的含義及其功能如下。
⑴S2,S1,S0(statussignals):匯流排周期狀態信號,輸出,低電平有效。
它們表明當前匯流排周期所進行的操作類型。
⑵RQ/,GT/(request/grant):匯流排請求允許信號輸入/匯流排請求允許輸出信號,雙向,低電平有效。
該信號用以取代最小模式時的HOLD/HLDA兩個信號的功能,是特意為多處理器系統而設計的。當系統中某一部件要求獲得匯流排控制權時,就通過此信號線向8086CPU發出匯流排請求信號,若CPU回響匯流排請求,就通過同一引腳發迴響應信號,允許匯流排請求,表明8086CPU已放棄對匯流排的控制權,將匯流排控制權交給提出匯流排請求的部件使用。引腳的優先權高於。
⑶LOCK/(lock)匯流排封鎖信號,輸出,低電平有效。
信號有效時,表示此時8086CPU不允許其他匯流排部件占用匯流排。
⑷QS1,QS0(queuestatus):指令佇列狀態信號,輸出。
QS1和QS0信號的組合可以指示匯流排接口部件BIU中指令佇列的狀態,以便其他處理器監視、跟蹤指令佇列的狀態。

指令集

MOV
功能:把源運算元送給目的運算元
語法:MOV目的運算元,源運算元
格式:MOVr1,r2MOVr,mMOVm,rMOVr,data
XCHG
功能:交換兩個運算元的數據
語法:XCHG
格式:XCHGr1,r2XCHGm,rXCHGr,m
PUSH,POP
功能:把運算元壓入或取出堆疊
語法:PUSH運算元POP運算元
格式:PUSHrPUSHMPUSHdataPOPrPOPm
PUSHF,POPF,PUSHA,POPA
功能:堆疊指令群
格式:PUSHFPOPFPUSHAPOPA
LEA,LDS,LES
功能:取地址至暫存器
語法:LEAr,mLDSr,mLESr,mXLAT(XLATB)
功能:查表指令
語法:XLATXLATm
算數運算指令ADD,ADC
功能:加法指令
語法:ADDOP1,OP2ADCOP1,OP2
格式:ADDr1,r2ADDr,mADDm,rADDr,data
影響標誌:C,P,A,Z,S,O
SUB,SBB
功能:減法指令
語法:SUBOP1,OP2SBBOP1,OP2
格式:SUBr1,r2SUBr,mSUBm,rSUBr,dataSUBm,data
影響標誌:C,P,A,Z,S,OINC,DEC
功能:把OP的值加一或減一
語法:INCOPDECOP
格式:INCr/mDECr/m
影響標誌:P,A,Z,S,O
NEG
功能:將OP的符號反相(取二進制補碼)
語法:NEGOP
格式:NEGr/m
影響標誌:C,P,A,Z,S,OMUL,IMUL
功能:乘法指令
語法:MULOPIMULOP
格式:MULr/mIMULr/m
影響標誌:C,P,A,Z,S,O(僅IMUL會影響S標誌)DⅣ,IDⅣ
功能:除法指令
語法:DⅣOPIDⅣOP
格式:DⅣr/mIDⅣr/m
CBW,CWD
功能:有符號數擴展指令
語法:CBWCWDAAA,AAS,AAM,AAD
功能:非壓BCD碼運算調整指令
語法:AAAAASAAMAAD
影響標誌:A,C(AAA,AAS)S,Z,P(AAM,AAD)DAA,DAS
功能:壓縮BCD碼調整指令
語法:DAADAS
影響標誌:C,P,A,Z,S
位運算指令集AND,OR,XOR,NOT,TEST
功能:執行BIT與BIT之間的邏輯運算
語法:ANDr/m,r/m/dataORr/m,r/m/dataXORr/m,r/m/dataTESTr/m,r/m/dataNOTr/m
影響標誌:C,O,P,Z,S(其中C與O兩個標誌會被設為0)NOT指令不影響任何標誌位
SHR,SHL,SAR,SAL
功能:移位指令
語法:SHRr/m,data/CLSHLr/m,data/CLSARr/m,data/CLSALr/m,data/CL
影響標誌:C,P,Z,S,OROR,ROL,RCR,RCL
功能:循環移位指令
語法:RORr/m,data/CLROLr/m,data/CLRCRr/m,data/CLRCLr/m,data/CL
影響標誌:C,P,Z,S,O
程式流程控制指令集CLC,STC,CMC
功能:設定進位標誌
語法:CLCSTCCMC
標誌位:C
CLD,STD
功能:設定方向標誌
語法:CLDSTD
標誌位:DCLI,STI
功能:設定中斷標誌
語法:CLISTI
標誌位:ICMP
功能:比較OP1與OP2的值
語法:CMPr/m,r/m/data
標誌位:C,P,A,Z,OJMP
功能:跳往指定地址執行
語法:JMP地址
JXX
功能:當特定條件成立則跳往指定地址執行
語法:JXX地址
註:
A:ABOVE,當C=0,Z=0時成立
B:BELOW,當C=1時成立
C:CARRY,當弁時成立CXZ:CX暫存器的值為0(ZERO)時成立
E:EQUAL,當Z=1時成立
G:GREATER(大於),當Z=0且S=0時成立
L:LESS(小於),當S不為零時成立
N:NOT(相反條件),需和其它符號配合使用
O:OVERFLOW,O=1時成立
P:PARITY,P=1時成立
PE:PARITYEVEN,P=1時成立
PO:PARITYODD,P=0時成立
S:SIGN,S=1時成立
Z:ZERO,Z=1時成立
LOOP
功能:循環指令集
語法:LOOP地址LOOPE(Z)
地址LOOPNE(Z)地址
標誌位:無CALL,RET
功能:子程式調用,返回指令
語法:CALL地址RETRETn
標誌位:無INT,IRET
功能:中斷調用及返回指令
語法:INTnIRET
標誌位:在執行INT時,CPU會自動將標誌暫存器的值入棧,在執行IRET時則會將堆疊中的標誌值彈回暫存器
字元串操作指令集MOVSB,MOVSW,MOVSD
功能:字元串傳送指令
語法:MOVSBMOVSWMOVSD
標誌位:無CMPSB,CMPSW,CMPSD
功能:字元串比較指令
語法:CMPSBCMPSWCMPSD
標誌位:C,P,Z,S,O
SCASB,SCASW
功能:字元串搜尋指令
語法:SCASBSCASW
標誌位:C,P,Z,S,OLODSB,LODSW,STOSB,STOSW
功能:字元串載入或存貯指令
語法:LODSBLODSWSTOSBSTOSW
標誌位:無REP,REPE,REPNE
功能:重複前綴指令集
語法:REP指令SREPE指令SREPNE指令S
標誌位:依指令S而定

相關詞條

熱門詞條

聯絡我們