複製鏈接
請複製以下鏈接發送給好友

8086微處理器

鎖定
8086微處理器是一個由Intel於1978年所設計的16位微處理器芯片,是x86架構的鼻祖。
中文名
8086微處理器
意    義
x86架構的鼻祖
WR/(write
):寫信號,輸出,低電平有效
設計時間
1978年

目錄

8086微處理器簡介

2.CPU工作於最小模式時使用的引腳信號
當引腳接高電平時,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工作於最大模式時使用的引腳信號
當引腳接低電平時,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中指令隊列的狀態,以便其他處理器監視、跟蹤指令隊列的狀態。

8086微處理器指令集

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而定