偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

2011年計(jì)算機(jī)等級考試三級PC技術(shù)第二章要點(diǎn)(7)

企業(yè)動態(tài)
“2011年計(jì)算機(jī)等級考試三級PC技術(shù)分章節(jié)要點(diǎn)”,供考生參考。

七、80x86指令系統(tǒng)

(一)8086指令系統(tǒng)

8086/8088指令系統(tǒng)是整個80x86系列微處理器的基礎(chǔ),按功能可以分為六種類型。

1.傳送指令

傳送指令用于在存儲單元、寄存器、輸入/輸出端口之間傳送地址或數(shù)據(jù)。

①通用數(shù)據(jù)傳送指令

MOV指令:該指令可以將一個立即數(shù)傳送到寄存器或存儲單元中,也可以在寄存器與寄存器之間、寄存器與存儲器之間傳送字?jǐn)?shù)據(jù)或字節(jié)數(shù)據(jù)。例如:將一個立即數(shù)傳送到寄存器中的指令MOV AL,05H;在兩個寄存器之間傳送字節(jié)數(shù)據(jù)的指令MOV AL,BL;在寄存器和存儲器之間傳送數(shù)據(jù)的指令MOV SI,[BX+5AH]。

XCHG指令:該指令可以將源操作數(shù)和目的操作數(shù)進(jìn)行交換,但操作數(shù)可以是寄存器或存儲單元,不能是段寄存器或立即數(shù),也不能同時為兩個存儲器操作數(shù)。

PUSH指令:PUSH指令是對一個16位操作數(shù)執(zhí)行進(jìn)棧操作,這是在一個操作數(shù)和堆棧之間進(jìn)行數(shù)據(jù)傳送,而不是在兩個操作數(shù)之間進(jìn)行數(shù)據(jù)傳送。

POP指令:POP指令是將一個16位操作數(shù)執(zhí)行出棧操作,這也是在一個操作數(shù)和堆棧之間進(jìn)行數(shù)據(jù)傳送。

XLAT指令:該指令專門用于在AL寄存器與字節(jié)表中某一存儲單元之間進(jìn)行數(shù)據(jù)傳送。其中字節(jié)表的首地址存放在BX基址寄存器中,根據(jù)AL設(shè)置的偏移地址,可以將該單元的內(nèi)容傳送到AL累加寄存器中。

②輸入/輸出指令

該指令專門用于在累加器和I/O端口之間進(jìn)行數(shù)據(jù)傳送操作。輸入/輸出的工作原理:CPU使用AL或AX寄存器接收數(shù)據(jù)或發(fā)送數(shù)據(jù),最多可提供64K個8位端口地址,或32K個16位端口地址。當(dāng)端口地址小于256時使用直接尋址來獲得操作數(shù),即在指令中直接指定端口地址;當(dāng)端口地址超過256時使用間接尋址來獲得操作數(shù),即先將端口地址放到DX寄存器中,然后利用IN指令或OUT指令進(jìn)行輸入/輸出操作。例如:IN AX,28H是從I/O端口28H輸入一個字到AX寄存器中;OUT 5,AL是從AL寄存器輸出一個字節(jié)到I/O端口5中。

③地址傳送指令

LEA指令:該指令是將源操作數(shù)的偏移地址傳送到通用寄存器、指針寄存器或變址寄存器中,要求目的操作數(shù)是一個16位寄存器,源操作數(shù)是一個存儲器地址,這樣就可以獲得指令執(zhí)行所需的有效地址。

LDS指令:該指令是將源操作數(shù)指定的連續(xù)四個存儲單元中存放的32位地址指針(包括一個段地址和一個偏移量)傳送到兩個16位寄存器,其中兩個高位字節(jié)(段基址)送段寄存器DS,兩個低位字節(jié)(指偏移量)送指令指定的16位通用寄存器,這樣就獲得指令執(zhí)行所需的地址指針。LES指令:該指令是將源操作數(shù)指定的連續(xù)四個存儲單元中所存放的32位地址指針(一個段地址和一個偏移量)傳送到指令指定的16位通用寄存器和段寄存器ES中。其中兩個高位字節(jié)(段基址)送段寄存器ES,兩個低位字節(jié)(指偏移量)送指令指定的16位通用寄存器,這樣就獲得指令執(zhí)行所需的地址指針。④標(biāo)志傳送指令

該指令用于對標(biāo)志寄存器中的內(nèi)容進(jìn)行數(shù)據(jù)傳送操作。

2.算術(shù)運(yùn)算指令

在8086/8088微處理器中,算術(shù)運(yùn)算指令可用于二進(jìn)制數(shù)和無符號十進(jìn)數(shù)的各種算術(shù)運(yùn)算。二進(jìn)制數(shù)可以是單字或雙字節(jié),也可以是有符號數(shù)或無符號數(shù)。十進(jìn)制數(shù)直接使用BCD碼,以表示無符號(Unsigned)的十進(jìn)制數(shù)。

(1)加法指令

①ADD

格式: ADD OPRD1,OPRD2

功能:實(shí)現(xiàn)兩個操作數(shù)相加,結(jié)果送原來存放目的操作數(shù)的地方。目的操作數(shù)可以是累加器、通用寄存器或存儲器操作數(shù)。

加法指令可以完成累加器與立即數(shù),或與任一通用寄存器、或與存儲單元的內(nèi)容相加,結(jié)果放在累加器中。

說明:加法指令可以完成任一通用寄存器與任一通用寄存器,或與立即數(shù)、或與存儲單元的內(nèi)容相同,其“和”放在通用寄存器中。

加法指令也可以實(shí)現(xiàn)存儲器操作數(shù)與立即數(shù),或與累加器、或與通用寄存器內(nèi)容相加,其“和”放在存儲單元中。

注意:存儲器操作數(shù)與立即數(shù)相加時,必須指明操作數(shù)的類型。ADD指令的執(zhí)行結(jié)果將影響標(biāo)志位CF、AF、PF、ZF、SF和OF。

②ADC

格式: ADC OPRD1,OPRD2

功能:ADC指令與ADD類似,不同之處在于兩個操作數(shù)相加時,還要加上進(jìn)位標(biāo)志CF的當(dāng)前值,結(jié)果送原來存放目的操作數(shù)的地方。

說明:指令執(zhí)行結(jié)果對標(biāo)志值的影響與ADD相同。

③INC

格式: INC OPRD

功能:操作數(shù)OPRD加1。操作數(shù)可以是通用寄存器,也可為存儲器操作數(shù)。說明:該指令執(zhí)行結(jié)果影響標(biāo)志位SF、ZF、AF、PF和OF,而對CF無影響。④AAA

功能:AAA是未組合BCD碼加法調(diào)整指令

。它對在AL中兩個未組合的十進(jìn)制數(shù)相加的結(jié)果進(jìn)行校正,產(chǎn)生一個未組合的十進(jìn)制和數(shù)。⑤DAA

功能:DAA為十進(jìn)制加法調(diào)整指令。它對AL中兩個組合的十進(jìn)制數(shù)相加的結(jié)果進(jìn)行校正,產(chǎn)生一個組合的十進(jìn)制和數(shù)。

 (2)減法指令

①SUB

格式: SUB OPRD1,OPRD2

功能:完成兩個操作數(shù)相減,結(jié)果放在目的操作數(shù)OPRD1中。其規(guī)則與加法指令相同。

說明:SUB的執(zhí)行結(jié)果影響標(biāo)志位SF、ZF、AF、PF、CF和OF。

②SBB

格式: SBB OPRD1,OPRD2

功能:SBB指令與SUB基本相同,不同的是兩個操作數(shù)相減時,還要減去借位標(biāo)志位CF的當(dāng)前值。

③DEC

格式: DEC OPRD

功能:完成對操作數(shù)OPRD減1運(yùn)算后返回操作數(shù)中。操作數(shù)可以是寄存器或存儲器。

說明:指令執(zhí)行對標(biāo)志位CF無影響,但影響標(biāo)志位SF、ZF、AF、PF和OF。

④NEG

格式: NEG OPRD

功能:完成對操作數(shù)取補(bǔ),即用零減去操作數(shù),再把結(jié)果送回操作數(shù)。

說明:該指令執(zhí)行結(jié)果影響標(biāo)志位SF、ZF、AF、PF和OF,對于CF一般總是CF=1,只有當(dāng)操作數(shù)為0時,CF=0。⑤CMP

格式: CMP OPRD1,OPRD2

功能:完成兩個操作數(shù)相減,但不回送結(jié)果,結(jié)果只影響狀態(tài)標(biāo)志位。操作數(shù)規(guī)定與加法操作數(shù)相同。

CMP指令只比較兩個數(shù)的大小。若兩數(shù)相等,則ZF=1,否則ZF為0。若兩數(shù)不相等,則其大小的確定可利用CMP指令執(zhí)行后的其他標(biāo)志位來確定。例如,對于無符號數(shù),可利用CF標(biāo)志值來判斷。當(dāng)CF=1時,則OPRD1OPRD2。對于有符號數(shù),則用標(biāo)志位SF和OF的狀態(tài)一同判定。

⑥AAS

功能:完成對在AL中的兩個未組合的十進(jìn)制數(shù)相減的結(jié)果進(jìn)行校正,在AL中產(chǎn)生一個正確的未組合十進(jìn)制數(shù)的差。

⑦DAS

功能:完成對在AL中兩個未組合的十進(jìn)制數(shù)相減以后的結(jié)果進(jìn)行校正,在AL中產(chǎn)生一個正確的組合十進(jìn)制數(shù)的差。

(3)乘法指令

①M(fèi)UL

格式: MUL OPRD

功能:完成源操作數(shù)OPRD與累加器中的數(shù)相乘,結(jié)果放在累加器中。參與運(yùn)算的操作數(shù)可以是寄存器或存儲器。乘積為單字節(jié)長時,放在AX中;乘積為雙字長時,分別存放在DX(乘積的高16位)和AX中。

說明:將內(nèi)存單元FIRST和SECOND的兩個字節(jié)的內(nèi)容相乘,乘積放在THIRD單元和下一個單元內(nèi)。MUL指令運(yùn)行結(jié)果只影響標(biāo)志位CF和OF。

②IMUL

格式: IMUL OPRD

功能:IMUL指令為帶符號數(shù)相乘指令,即將源操作數(shù)與累加器中的數(shù)都作為帶符號數(shù)相乘,其余與MUL指令相同。

③AAM

功能:對在AX中兩個未組合的十進(jìn)制數(shù)的乘積進(jìn)行校正,以得到正確的未組合的十進(jìn)制數(shù)的乘積。

(4)除法指令

①DIV

格式: DIV OPRD

功能:無符號除法指令。用指定的源操作數(shù)OPRD去除累加器中的值,所得商和余數(shù)分別放在AL和AH(字節(jié)操作)或AX和DX(字操作)中。

②其他除法指令

●IDIV: 完成帶符號數(shù)的除法運(yùn)算。

●AAD: 完成AX中的兩位未組合的十進(jìn)制數(shù)在兩個數(shù)相除之前進(jìn)行核正。

●CBW: 字節(jié)轉(zhuǎn)換為字。具體操作是按AL的符號位擴(kuò)展到整個AH中。

●CMD: 字轉(zhuǎn)換為雙字。按AX的符號擴(kuò)展到整個DX中。

3.邏輯運(yùn)算和移位指令

(1)邏輯運(yùn)算指令①NOT

格式: NOT OPRD

功能:完成對操作數(shù)求反,然后送回原處。說明:此指令對標(biāo)志位無影響。

②AND

格式: AND OPRD1,OPRD2

功能:對兩操作數(shù)進(jìn)行按位邏輯“與”運(yùn)算,結(jié)果送目的操作數(shù)。目的操作數(shù)可為通用寄存器、存儲器,源操作數(shù)可以是立即數(shù)、寄存器、存儲器。

③OR

格式: OR OPRD1, OPRD2

功能:對兩操作數(shù)進(jìn)行按位“或”運(yùn)算,結(jié)果回送目的操作數(shù)。操作數(shù)規(guī)定與AND相同。

說明:“或”運(yùn)算令標(biāo)志位CF=0,OF=0,其“或”操作后的結(jié)果反映在標(biāo)志位PF、SF和ZF上。

④XOR

格式: XOR OPRD1,OPRD2

功能:對兩個操作數(shù)進(jìn)行按位“異或”運(yùn)算,結(jié)果回送目的操作數(shù)。

說明:XOR執(zhí)行后,標(biāo)志位CF=0,OF=0,“異或”操作結(jié)果反映在標(biāo)志位PF、SF和ZF上。

⑤TEST

格式: TEST OPRD1,OPRD2

功能:TEST指令的操作與AND指令完全相同,但結(jié)果不送目的操作數(shù),僅反映在狀態(tài)標(biāo)志位上,TEST指令的操作數(shù)規(guī)定與AND相同,對標(biāo)志位的影響亦與AND相同,即:CF=0,OF=0,結(jié)果反映在標(biāo)志位PF、SF和ZF上。

#p#

 (2)移位指令

移位指令可將寄存器或存儲單元的8位或16位的內(nèi)容向左或向右移動1位或多位。

①SAL/SHL

格式: SAL/SHL OPRD m

功能:SAL(算述左移)和SHL(邏輯左移)指令將操作數(shù)OPRD左移m位,移位后空出的位填零。操作數(shù)可以是寄存器、存儲器。m是移位次數(shù),為1時取立即數(shù),大于1時先將m賦予CL寄存器。

②SAR

格式: SAR OPRD m

功能:算術(shù)右移指令。將指定操作數(shù)右移m位,最低位進(jìn)入標(biāo)志位CF,其他位依次右移,但符號位(最高位)保持不變。m的規(guī)定與SHL相同。③SHR

格式: SHR OPRD m

功能:邏輯右移指令。與SAR類擬,最低位進(jìn)入標(biāo)志位CF,但移位后空位的最高位填0。

(3)循環(huán)移位指令

8086/8088有四條循環(huán)移位指令,它們是:

●ROL OPRD M ;左循環(huán)移位

●ROR OPRD M ;右循環(huán)移位

●RCL OPRD M ;帶進(jìn)位的左循環(huán)移位

●RCR OPRD M ;帶進(jìn)位的右循環(huán)移位

4.串操作指令

串可以是字節(jié)串(一組字節(jié))或字串(一組字)。串指令有兩類,每類有5種。一類是串操作命令,一類是控制操作重復(fù)執(zhí)行的前綴命令。串操作時,下列寄存器及標(biāo)志起著特定的作用,程序應(yīng)根據(jù)操作的具體要求先賦予初值。SI寄存器 源串變址用DI寄存器 目的串變址用CX寄存器 重復(fù)次數(shù)寄存器AL/AX 掃描值(關(guān)鍵字)FLAGS中標(biāo)志位:

DF 0表示重復(fù)操作中DI、SI應(yīng)自動增量,1表示自動減量。 ZF 用于控制掃描或比較操作結(jié)果。

(1)基本串操作命令

①M(fèi)OVS

格式: MOVS OPRD1,OPRD2

功能:將由SI作為偏移地址的源串中的一個字節(jié)或字,傳送到由DI作為偏移地址的目的串,且相應(yīng)修改偏移地址,以指向串中下一個元素。傳送完一個字節(jié)或字后,則依據(jù)控制標(biāo)志位DF和源、目的操作數(shù)的屬性,修改偏移地址。在使用MOVS指令之前,必須將源、目的操作數(shù)的偏移地址分別送SI、DI,并設(shè)置DF。

②MOVSB/MOVSW

字節(jié)串/字串傳送命令,不帶操作數(shù),地址修改MOVSB命令以±1形式修改偏移地址,MOVSW以±2形式修改偏移地址。其余與MOVS相同。

③CMPS

格式: CMPS OPRD1,OPRD2

功能:字節(jié)串或字串比較。從由SI作為偏移地址的源串中減去由DI為偏移地址的目標(biāo)串(字或字節(jié)),減的結(jié)果不送至任何操作數(shù),僅反映到標(biāo)志位上。同時修改源、目的串的偏移地址,以指向串中的下一個元素。標(biāo)志位AF、CF、OF、PF、SF和ZF反映兩串元素之間的關(guān)系。

④CMPSB/CMPSW

字節(jié)串/字串比較,無操作數(shù)。

⑤LODS OPRD

讀出字節(jié)串或字串。從由SI為偏移地址的源串中讀出一個字節(jié)或一個字送AL或AX,同時修改偏移地址,指向串的下一個元素。此指令對標(biāo)志位無影響。

⑥LODSB/LODSW

字節(jié)或字操作,無操作數(shù)。

⑦SCAS

格式: SCAS OPRD

功能:搜索(掃描)串元素命令。從AL(字節(jié)操作)或AX的內(nèi)容中減去由DI作為偏移地址的目標(biāo)串元素。結(jié)果不改變累加器的值,只改變標(biāo)志位。利用SCAS指令可以進(jìn)行搜索,此時將搜索關(guān)鍵字放在AL(字節(jié))或AX(字)中,用于查找字符串中有無此關(guān)鍵字,記下查找次數(shù)。

⑧SCASB/SCASW

搜索串中字節(jié)或字元素,無操作數(shù)。

⑨STOS

格式:STOS OPRD

功能:存儲字節(jié)或字串的指令。將AL(字節(jié))或AX(字)中內(nèi)容,存儲到以DI為偏移地址的目的串中,同時修改偏移地址,指向串的下一個元素。

⑩STOSB/STOSW

存儲字節(jié)串/字串,無操作數(shù)。

(2)重復(fù)前綴

①REP

可作為串傳送、串比較、串存儲、串搜索指令的前綴。最常用的是串傳送指令,使用時數(shù)據(jù)長度必須放在CX中。

②REPE/REPZ

用于串傳送、串搜索指令的前綴,使緊隨其后的指令重復(fù)執(zhí)行,直到CX=0或ZF=0為止。

③REPNE/REPNZ

用于串比較或串搜索指令的前綴,使其重復(fù)執(zhí)行直到XC=1或ZF=1為止。

5.程序控制指令

8086/8088程序中指令的執(zhí)行順序是由代碼寄存器CS和指針I(yè)P來決定的。程序轉(zhuǎn)移指令用來改變這兩個寄存器的內(nèi)容,從而改變程序的執(zhí)行順序。轉(zhuǎn)移指令分四組;無條件轉(zhuǎn)移指令、條件轉(zhuǎn)移指令、循環(huán)控制指令及有關(guān)中斷指令。

(1)無條件轉(zhuǎn)移指令

①JMP

格式: JMP OPRD(標(biāo)號)

功能:無條件轉(zhuǎn)移到目的單元,無返回值。

段內(nèi)直接轉(zhuǎn)移,范圍為段內(nèi)任何位址(±32K)。若轉(zhuǎn)移范圍在±127B之內(nèi)時,則稱之為段內(nèi)短轉(zhuǎn)移。例如:

JMP SHORT NEXT ;段內(nèi)短轉(zhuǎn)移

段間直接轉(zhuǎn)移,可轉(zhuǎn)到程序的任何位置,例如:JMP FAR PTR NEXT

此時需用NEXT的段地址和偏移地址取代當(dāng)前的CS和IP。段內(nèi)間接轉(zhuǎn)移,可轉(zhuǎn)移到段內(nèi)的任何位置,例如:JMP CX

指令執(zhí)行時用CX的內(nèi)容取代當(dāng)前IP,而CS不變。段間間接轉(zhuǎn)移,可轉(zhuǎn)移到程序的任何位置。例如:JMP SEGOFF

指令執(zhí)行時,在由SEGOFF的段和偏移量所確定的雙字單元中,用較小地址的字單元內(nèi)容取代IP,較大地址字單元內(nèi)容取代CS。②CALL

格式: CALL OPRD調(diào)用指令。

③RET

返回指令。

(2)條件轉(zhuǎn)移指令

條件轉(zhuǎn)移指令以某些標(biāo)志位或其邏輯運(yùn)算為依據(jù),滿足條件時則轉(zhuǎn)移。本類指令的轉(zhuǎn)移的目的地址在±127字節(jié)以內(nèi)。本類指令大體上分三類:

①依據(jù)單個標(biāo)志位的條件轉(zhuǎn)移指令

依據(jù)單個標(biāo)志位的條件轉(zhuǎn)移指令如下表所示。

依據(jù)單個標(biāo)志位的條件轉(zhuǎn)移指令

指 令 轉(zhuǎn)移條件 說 明

JC

JNC CF=1

CF=0

有進(jìn)位/借位時轉(zhuǎn)移

無進(jìn)位/借位時轉(zhuǎn)移

JE/JZ

JNE/JNZ ZF=1

ZF=0 相等/等于零時轉(zhuǎn)移

不相等/不等于零時轉(zhuǎn)移

JS

JNS SF=1

SF=0 符號位為1(負(fù)數(shù))時轉(zhuǎn)移

符號位為0(正數(shù))時轉(zhuǎn)移

JO

JNO OF=1

OF=0 有溢出時轉(zhuǎn)移

無溢出時轉(zhuǎn)移

JP/JPE

JNP/JPO PF=1

PF=0 奇偶位為1/偶時轉(zhuǎn)移

奇偶位為0/奇時轉(zhuǎn)移

②用于無符號數(shù)的條件轉(zhuǎn)移指令

用于無符號數(shù)的條件轉(zhuǎn)移指令如下表所示。

本指令用于無符號數(shù)比較。

用于無符號數(shù)的條件轉(zhuǎn)移指令

指 令 轉(zhuǎn)移條件 說 明

JA/JNB

JAE/JNB

JB/JNAE

JBE/JNA CF=0且ZF=0

CF=0或ZF=1

CF=1且ZF=0

CF=1且ZF=1 高于/不等于且不低于時轉(zhuǎn)移

高于或等于/不低于時轉(zhuǎn)移

低于/不高于、不等于時轉(zhuǎn)移

高于、等于/不等于時轉(zhuǎn)移

③帶符號數(shù)的條件轉(zhuǎn)移指令

帶符號數(shù)的條件轉(zhuǎn)移指令如下表所示。

帶符號數(shù)的條件轉(zhuǎn)移指令

帶符號數(shù)的條件轉(zhuǎn)移指令

指 令 轉(zhuǎn)移條件 說 明

JG/JNLE (SF)XOR(OF)=0且ZF=0 高于/低于且不等于時轉(zhuǎn)移

JGE/JNL (SF)XOR(OF)=0

或ZF=1 高于或等于/低于時轉(zhuǎn)移

JL/JNGE ( SF)XOR(OF)=1且ZF=0 高于/低于時轉(zhuǎn)移

JLE/JNG (SF)XOR(OF)=1

或ZF=0 低于或等于/高于時轉(zhuǎn)移

上述指令用于帶符號數(shù)的比較。

#p#

(3)循環(huán)指令

循環(huán)控制指令用來控制一個程序段的重復(fù)執(zhí)行。

①LOOP

格式: LOOP 標(biāo)號

功能:目標(biāo)地址在+1~128字節(jié)以內(nèi),重復(fù)次數(shù)置CX中且CX≠0時循環(huán)。它等效于下述2條指令的組合:

DEC CX

JNE NEXT

②LOOPZ(或LOOPE)標(biāo)號

此指令有兩種助記符。此指令使(CX)←(CX)-1,當(dāng)CX≠0并且在標(biāo)志位ZF=1的條件下,循環(huán)至目標(biāo)操作數(shù)。

③LOOPZ(或LOOPE)標(biāo)號

指令使(CX)←(CX)-1,且判斷只有當(dāng)CX≠0,且標(biāo)志位ZF=0的條件下,循環(huán)至目標(biāo)操數(shù)。

④JCXZ 標(biāo)號

若CX=0,則此指令控制轉(zhuǎn)移到目標(biāo)操作數(shù)。

(4)中斷指令

中斷指令允許程序在需要時去啟動中斷服務(wù)程序。

①●INT n 啟動由類型碼n所規(guī)定的中斷服務(wù)程序。

②●INTO 溢出中斷。

③●IRET 中斷返回。

6.處理器控制指令

(1)操作標(biāo)志

單獨(dú)對標(biāo)志進(jìn)行操作的指令有:

①●CLC 清進(jìn)位,CF=0

②●CMC 進(jìn)位取反

③●STC 置CF=1

④●CLD 置DF=0

⑤●STD 置DF=1

⑥●CLI 置IF=0

⑦●STI 置IF=1

(2)處理器暫停

HLT 處理器暫停,直到出現(xiàn)中斷復(fù)位信號。

(3)處理器等待

WAIT 等待狀態(tài),定期檢查TEST信號。

(4)處理器脫離

SEC 換碼指令,向外處理器提供數(shù)據(jù)。

(5)總線封鎖

LOCK 總線鎖定命令。

(6)空操作指令

NOP 除指令地址指針加1外,不執(zhí)行任何操作。

(二)80286擴(kuò)展的指令

80286指令系統(tǒng)完全兼容8086/8088指令系統(tǒng)。由于80286有實(shí)地址和虛地址保護(hù)兩種工作方式,因而與8086指令系統(tǒng)比較,其絕大部分指令是相同的(僅做了少量增加)。例如,在數(shù)據(jù)傳送指令組中,增加了PUSHA和POPA,用于過程調(diào)用、中斷服務(wù)中恢復(fù)現(xiàn)場;在串操作指令中增加了INS和OUTS指令,以實(shí)現(xiàn)成批數(shù)據(jù)的輸入和輸出;在控制轉(zhuǎn)移指令中,增加ENTER、LEAVE、BOUND等三條有關(guān)過程處理的指令。

80286還增加了專門用虛地址保護(hù)方式的15條新指令。它們是:

●IGDT 裝入全局描述符表寄存器。

●SGDT 存放全局描述符表寄存器。

●LIDT 裝入中斷描述符表寄存器。

●SIDT 存放中斷描述符表寄存器。

●LLDT 從寄存器/存儲器中裝入局部描述符寄存器。

●SLDT 把同部描述了表寄存器放入寄存器/存儲器。

●LTR 從寄存器/存儲器中裝入任務(wù)寄存器。

●STR 把任務(wù)寄存器存放到寄存器/存儲器。

●LMSW 從寄存器/存儲器裝入機(jī)器狀態(tài)字。

●SMSW 把機(jī)器狀態(tài)字存放到寄存器/存儲器。

●LSL 從寄存器/存儲器裝入段限。

●LAR 從寄存器/存儲器裝入訪問權(quán)。

●ARPL 從寄存器/存儲器中調(diào)整已請求的特權(quán)書。

●VERR 從寄存器/存儲器讀進(jìn)行驗(yàn)證。

●VERW 從寄存器/存儲器寫進(jìn)行驗(yàn)證。

(三)80386擴(kuò)展的指令80386新增的指令組有:1.高級語言支持指令組

BOUND 數(shù)組邊界檢查

ENTER 為進(jìn)入程序建立的參數(shù)塊

LEAVE 離開程序

SETCC 按條件置字節(jié)

2.保護(hù)指令組

CLTS 任務(wù)切換標(biāo)志置0

SGDT 存放全局描述符表

SIDT 存放中斷描述符表

STR 存放任務(wù)寄存器

SLDT 存放局部描述符表

LGDT 裝入全局描述符表

LIDT 裝入中斷描述符表

LTR 裝入任務(wù)寄存器

LLDT 裝入局部描述符表

ARPL 調(diào)整請求特權(quán)級

LAR 裝入存取權(quán)

LSL 裝入段界限

VERR/VERW 查證段能否讀寫

LMSW 裝入機(jī)器狀態(tài)字

SMSW 存放機(jī)器狀態(tài)字

3.位處理指令組

BT 位測試

BTS 位測試并置“1”

BTR 位測試并復(fù)位

BTC 位測試并求補(bǔ)

BSF 向前位掃描

BSR 向后位掃描

4.數(shù)據(jù)傳送指令組

數(shù)據(jù)傳送指令中增加的3條有關(guān)地址操作的指令:

LFS 指針裝入F段寄存器

LGS 指針裝入G段寄存器

LSS 指針裝入S(堆棧)段寄存器

另外還對地址操作的3條指令功能進(jìn)行了調(diào)整:

LXA 裝入有效地址

LDS 裝入D段寄存器

LES 裝入E段寄存器

5.標(biāo)志處理指令組

標(biāo)志處理指令中增加2條新指令:PUSHFD EFLAGS進(jìn)棧POPFD EFLAGS出棧

另外,在邏輯移位指令組中,增加了雙位左移和雙位右移命令SHLD/SHRD等等。

(四)80486擴(kuò)展的指令

80486指令系統(tǒng)和80386基本相同,但為支持Cache和多重處理,80486在80386指令系統(tǒng)的基礎(chǔ)上,又增加了如下幾條新指令。

它們是:

●BSWAP 在32位寄存器內(nèi)交換字節(jié)順序。

●XADD 執(zhí)行原子交換并把它加到存儲器操作數(shù)上,保留原值。

●CMPXCHG 用以存儲器為基礎(chǔ)的操作數(shù)執(zhí)行原子比較和有條件的交換。

●INVD 使整個指令數(shù)據(jù)Cache無效。

●WBINVD 使數(shù)據(jù)Cache無效,通過二級Cache,寫回到臟Cache行。

●INVLPG 使TLB中的符號無效。

(五)Pentium擴(kuò)展的指令1.Pentium擴(kuò)展指令

Pentium指令系統(tǒng)包括了80486的全部指令又增加了5條新指令。它們是:CMPXCHG8B 算術(shù)類指令,8字節(jié)比較后交換RDMSR 讀模型專用寄存器WRMSR 寫模型專用寄存器RDTSC 讀時間標(biāo)記計(jì)數(shù)器RSM 由系統(tǒng)管理方式返回

2.PentiumⅡ擴(kuò)展指令

PentiumⅡ微處理器中由于集成了多媒體擴(kuò)展技術(shù)(MMX),因而增加了57條MMX指令。MMX指令集簡介如下:

(1)算術(shù)運(yùn)算指令

PADD[B,W,D] ;環(huán)繞加法[字節(jié),字,雙字]

PADDS[B,W] ;飽和帶符號減法[字節(jié),字]

PADDUS[B,W] ;飽和無符號減法[字節(jié),字]

PSUB[B,W,D] ;環(huán)繞減法[字節(jié),字,雙字]

PSUBS[B,W] ;飽和帶符號加法[字節(jié),字]

PSUBUS[B,W] ;飽和無符號加法[字節(jié),字]

PMULHW ;字高位緊縮乘法PMULLW ;字低位緊縮乘法

PMADDWD ;字緊縮乘法并累加結(jié)果

(2)比較指令

PCMPEO[B,W,D] ;相等緊縮比較[字節(jié),字,雙字]

PCMPGT[B,W,D] ;大小緊縮比較[字節(jié),字,雙字]

(3)轉(zhuǎn)換指令

PACKUSWB ;字緊縮為字節(jié)

PACKSS[WB,DW] ;緊縮字到字節(jié),雙字到字

PUNPCKH[BW,WD,DQ] ;從MMX寄存器解壓(交*)高階字節(jié)、雙字、四字

PUNPCKL[BW,WD,DQ] ;從MMX寄存器解壓(交*)低階字節(jié)、雙字、四字

(4)邏輯指令

PAND ;按位AND

PANDN ;按位AND NOT

POR ;按位OR PXOR ;按位XOR

(5)移位指令

PSLL[W,D,Q] ;依據(jù)MMX寄存器中指定的數(shù)量或立即數(shù)值的緊縮左移邏輯操作[字,雙字,四字]

PSRL[W,D,Q] ;依據(jù)MMX寄存器中指定的數(shù)量或立即數(shù)值的緊縮右移邏輯操作[字,雙字,四字]

PSRA[W,D] ;依據(jù)MMX寄存器中指定的數(shù)量或立即數(shù)值的緊縮右移算術(shù)操作

(6)數(shù)據(jù)轉(zhuǎn)移指令

MOV[D,Q] ;移入MMX寄存器或移出MMX寄存器[雙字,四字]

(7)浮點(diǎn)和MMX狀態(tài)管理指令

EMMS ;清除MMX狀態(tài)

上述指令中,有的一條指令后帶[B,W,D],表示該指令支持多種數(shù)據(jù)類型,即支持字節(jié)(B)、字(W)、雙字(D)的操作。

3.PentiumⅢ擴(kuò)展指令

PentiumⅢ為提高互聯(lián)網(wǎng)計(jì)算能力,又增加了71條稱為互聯(lián)網(wǎng)SSE(Streaming SIMDExˉtensions,直譯為數(shù)據(jù)流單指令多數(shù)據(jù)擴(kuò)展)的指令和處理機(jī)序列號。它們是8條高速緩沖存儲器控制指令,50條SIMD浮點(diǎn)指令和12條多媒體指令。

 

【編輯推薦】

  1. 2011年計(jì)算機(jī)等級考試三級PC技術(shù)第二章要點(diǎn)(6)
  2. 計(jì)算機(jī)等級考試PC技術(shù)練習(xí)題:第五章輸入輸出和中斷調(diào)用
  3. 2011年計(jì)算機(jī)等級考試三級PC技術(shù)第二章要點(diǎn)(5)
  4. 更多等考資料請點(diǎn)擊51CTO軟考專題
責(zé)任編輯:張攀 來源: 考試吧
相關(guān)推薦

2010-12-15 11:38:06

PC技術(shù)

2010-12-23 11:23:25

PC技術(shù)

2010-12-27 10:54:54

PC技術(shù)

2011-03-04 10:44:12

三級PC技術(shù)

2010-12-15 11:29:43

PC技術(shù)

2010-12-28 10:58:34

PC技術(shù)

2011-01-06 11:03:15

三級PC技

2011-01-13 10:45:11

三級PC技術(shù)

2011-01-24 10:28:03

三級PC技術(shù)

2011-01-27 10:52:53

三級PC技術(shù)

2010-12-09 10:59:54

三級PC技術(shù)

2010-12-13 11:50:48

三級PC技術(shù)

2010-12-28 10:55:07

PC技術(shù)

2011-01-04 13:51:44

PC技術(shù)

2010-12-08 11:10:14

三級網(wǎng)絡(luò)技術(shù)

2010-12-06 11:07:12

計(jì)算機(jī)等級考試

2011-01-27 11:28:55

三級網(wǎng)絡(luò)技術(shù)

2010-12-06 10:42:51

計(jì)算機(jī)等級考試

2010-12-07 10:53:45

三級網(wǎng)絡(luò)技術(shù)

2011-09-17 19:44:59

計(jì)算機(jī)等級考試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號