歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

計(jì)算機(jī)組成原理指令系統(tǒng).ppt

  • 資源ID:3593031       資源大?。?span id="x8vgx9o" class="font-tahoma">4.18MB        全文頁(yè)數(shù):161頁(yè)
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開(kāi)放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫(xiě)的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開(kāi),此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

計(jì)算機(jī)組成原理指令系統(tǒng).ppt

指令系統(tǒng),4.1尋址方式4.1.1與數(shù)據(jù)有關(guān)的尋址方式4.1.2與轉(zhuǎn)移地址有關(guān)的尋址方式,第4章,4.2指令系統(tǒng)4.2.1數(shù)據(jù)傳送指令4.2.2算術(shù)運(yùn)算指令4.2.3邏輯指令4.2.4串處理指令4.2.5控制轉(zhuǎn)移指令4.2.6處理器控制指令,掌握8086CPU的尋址方式掌握匯編語(yǔ)言的指令系統(tǒng),教學(xué)要求,指令的功能該指令能夠?qū)崿F(xiàn)何種操作。通常指令助記符就是指令功能的英文單詞或其縮寫(xiě)形式。指令支持的尋址方式該指令中的操作數(shù)可以采用何種尋址方式。指令對(duì)標(biāo)志的影響該指令執(zhí)行后是否對(duì)各個(gè)標(biāo)志位有影響,以及如何影響。其他方面該指令其他需要特別注意的地方,如指令執(zhí)行時(shí)的約定設(shè)置、必須預(yù)置的參數(shù)、隱含使用的寄存器等。,第4.1節(jié),尋址方式,指令基本格式,一個(gè),一個(gè)或幾個(gè),一條指令實(shí)際上包括兩種信息即操作碼和地址碼。操作碼用來(lái)表示該指令所要完成的操作,其長(zhǎng)度取決于指令系統(tǒng)中的指令條數(shù);地址碼用來(lái)描述該指令的操作對(duì)象,或者直接給出操作數(shù)或者指出操作數(shù)的存儲(chǔ)器地址或寄存器地址(即寄存器名)。,4.1.1指令格式,指令中提供的地址數(shù),存儲(chǔ)單元地址碼寄存器編號(hào),1.指令提供地址的方式顯地址方式隱地址方式,:指令中明顯指明地址。:地址隱含約定,不出現(xiàn)在指令中。,直接或間接給出,使用隱地址可以減少指令中的地址數(shù),簡(jiǎn)化地址結(jié)構(gòu)。,4.1.1指令格式,指令和數(shù)據(jù)的聯(lián)系和區(qū)別聯(lián)系:都是以二進(jìn)制碼的形式存儲(chǔ)的。區(qū)別:指令的地址是由程序計(jì)數(shù)器(PC)規(guī)定的;而數(shù)據(jù)的地址是由指令規(guī)定的。在程序執(zhí)行過(guò)程中,要避免修改指令,但可以修改數(shù)據(jù)。,4.1.1指令格式,指令系統(tǒng),標(biāo)號(hào):給指令所在的地址取名字。注釋:說(shuō)明程序,匯編程序不對(duì)它作任何處理。操作碼:指計(jì)算機(jī)所要執(zhí)行的操作,是一種助記符。操作數(shù):指出在指令執(zhí)行過(guò)程中所需要的操作數(shù),即指出操作數(shù)存放于何處CPU內(nèi)部的寄存器或內(nèi)存儲(chǔ)器。該字段可以是操作數(shù)本身外,也可以是操作數(shù)地址或是地址的一部分,還可以是其它有關(guān)操作數(shù)的信息。操作數(shù)通常為是0個(gè)-兩個(gè)。8086指令系統(tǒng)的指令大多數(shù)是雙操作數(shù)指令。,指令的一般格式,指令系統(tǒng),8086指令系統(tǒng)的指令大多數(shù)是雙操作數(shù)指令。,其中:源操作數(shù):直接給出參加指令操作的操作數(shù)本身,或指出操作數(shù)放在什么地方;目的操作數(shù):指出參加指令操作的操作數(shù)放在何處,并指出操作結(jié)果送至何處。指令執(zhí)行前后,源操作數(shù)不變。,操作數(shù)的形式(3種)立即數(shù):操作數(shù)以常量形式出現(xiàn)(指源操作數(shù))寄存器操作數(shù):要操作的數(shù)據(jù)存在R中。內(nèi)存操作數(shù):要操作的數(shù)據(jù)存在M中。,指令的尋址方式,操作數(shù)可能在哪?,地址的表示方法,物理地址邏輯地址:段地址:段內(nèi)偏移量,就是尋找操作數(shù)所在地址的方法。,尋址方式:或者是尋找操作數(shù)有效地址(EA)的方法。,有效地址(EA)的構(gòu)成,位移量:disp8位或disp16位基址寄存器:存放在BX或BP中的內(nèi)容變址寄存器:存放在SI或DI中的內(nèi)容,不同的組合方式不同的尋址方式,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),1.立即尋址指令中直接給出操作數(shù),演示,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),即操作數(shù)放在CPU內(nèi)部寄存器AX、BX、CX、DX、DI、SI、SP和BP中,不需要訪問(wèn)存儲(chǔ)器。,2.寄存器尋址指令中給出存儲(chǔ)操作數(shù)的寄存器號(hào),演示1,演示2,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),3.直接尋址有效地址EA由指令直接給出。物理地址=(DS)10HEA,演示1,演示2,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),3.直接尋址,4.寄存器間接尋址指令中直接給出操作數(shù)EA;EA在基址寄存器BP、BX或變址寄存器SI、DI中,而操作數(shù)則在存儲(chǔ)器中。,BX、SI、DI作間址寄存器,指示數(shù)據(jù)段中的數(shù)據(jù);BP作間址寄存器,則指示的是堆棧段中的數(shù)據(jù)。,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),4.寄存器間接尋址,演示1,演示2,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),5.寄存器相對(duì)尋址,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),5.寄存器相對(duì)尋址,演示1,演示2,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),6.基址變址尋址,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),6.基址變址尋址,演示1,演示2,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),7.相對(duì)基址變址尋址,4.1.1,與數(shù)據(jù)有關(guān)的尋址方式(7種),7.相對(duì)基址變址尋址,演示1,演示2,第4.2節(jié),指令系統(tǒng),4.2,8086指令系統(tǒng)按功能可分為6大類:數(shù)據(jù)傳送指令算術(shù)運(yùn)算指令邏輯指令程序控制指令串處理指令輸入輸出類指令處理機(jī)控制指令,指令系統(tǒng),數(shù)據(jù)傳送指令,4.2.1,數(shù)據(jù)傳送指令,一.通用數(shù)據(jù)傳送指令,(1)數(shù)據(jù)傳送MOV指令,指令格式:MOVDST,SRC;指令功能:將數(shù)據(jù)從源地址傳送到目的地址,具有“復(fù)制”性質(zhì);DST、SRC分別為目的操作數(shù)和源操作數(shù).,例如:MOVAX,1234HMOVAL,CL,注意,MOV指令傳送功能MOVDST,SRC,MOV也并非任意傳送,立即數(shù),段寄存器CSDSESSS,通用寄存器AXBXCXDXBPSPSIDI,存儲(chǔ)器,4.2.1數(shù)據(jù)傳送指令,具體實(shí)現(xiàn),1)數(shù)據(jù)在CPU內(nèi)部寄存器之間傳送MOVAL,BL;通用寄存器之間字節(jié)傳送MOVDI,BX;通用寄存器之間字傳送MOVDS,AX;通用寄存器傳送到段寄存器MOVAX,ES;段寄存器傳送到通用寄存器,2)立即數(shù)傳送至CPU內(nèi)部通用寄存器或存儲(chǔ)器中MOVDL,58;8位立即數(shù)傳送到通用寄存器MOVBP,016AH;16位立即數(shù)傳送到通用寄存器MOVBYTEPTRBX,7BH;8位立即數(shù)傳送到存儲(chǔ)器MOVWORDPTRBX,057BH;16位立即數(shù)傳送到存儲(chǔ)器,4.2.1數(shù)據(jù)傳送指令,3)數(shù)據(jù)在CPU內(nèi)部寄存器與存儲(chǔ)器之間的傳送MOVCL,BX+5;字節(jié)傳送MOVAX,SI;變址傳送MOVDS,BX+SI;基址變址傳送MOVAX,DATABPSI;相對(duì)基址變址傳送MOVDI,BX;將BX內(nèi)容傳送到DI所指位置MOVBX,DATA1;將符號(hào)地址DATA1的存儲(chǔ)器內(nèi)容傳送到BX中,具體實(shí)現(xiàn),4.2.1數(shù)據(jù)傳送指令,常見(jiàn)錯(cuò)誤,CS和IP不能作為目的操作數(shù)MOVCS,AX(X)MOVIP,AX(X),不允許數(shù)據(jù)直接從存儲(chǔ)器傳送到存儲(chǔ)器如要把DS段內(nèi)偏移地址為ADDR1的存儲(chǔ)單元的內(nèi)容,傳送至同一段內(nèi)地址為ADDR2的存儲(chǔ)單元中去,MOVADDR2,ADDR1MOVAL,ADDR1MOVADDR2,AL,(X),(V),4.2.1數(shù)據(jù)傳送指令,常見(jiàn)錯(cuò)誤,立即數(shù)不允許直接送段寄存器,也不允許在兩個(gè)段寄存器之間直接傳送信息。MOVDS,5000H(X)MOVDS,ES(X)可以用通用寄存器(如AX)為橋梁來(lái)實(shí)現(xiàn)傳送。MOVAX,5000HMOVDS,AX(V),4.2.1數(shù)據(jù)傳送指令,一.通用數(shù)據(jù)傳送指令,指令格式:XCHGOPR1,OPR2;執(zhí)行操作:OPR1OPR2;指令功能:將一個(gè)字節(jié)或一個(gè)字的源操作數(shù)和目的操作數(shù)相交換;,(2)交換指令XCHG,交換可在reg之間、reg與mem之間進(jìn)行。可以是字節(jié)交換,也可以是字交換。段寄存器內(nèi)容不能交換。,4.2.1數(shù)據(jù)傳送指令,復(fù)習(xí)提問(wèn),1.說(shuō)明程序功能,尋址方式,判斷對(duì)錯(cuò)并改正(1)MOV2000H,BX(2)MOV2000H,IP(3)MOVSS,2000H(4)MOVDS,SI+DI(5)MOVDS,ES(6)MOVBX+DI,AX(7)MOVBL,BP(8)MOVBX,BX+DI+2000H(9)MOVBH,BP+SI(10)MOVAL,ES:2000H(11)PUSH2000H(12)POPDS,2.現(xiàn)有:(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100H)=12H,(20101H)=34H,(20102H)=56H,(20103H)=78H,(21200H)=2AH,(21201H)=4CH,(21202H)=0B7H,(21203H)=65H。試說(shuō)明下列各指令執(zhí)行后,AX寄存器的內(nèi)容。,(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,1200H(4)MOVAX,BX(5)MOVAX,1100HBX(6)MOVAX,BXSI(7)MOVAX,1100HBXSI,復(fù)習(xí)提問(wèn),3.假定:(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)=0100H,(BP)=0010H,數(shù)據(jù)段中變量名VAL的偏移地址值為0050H。指出下列源操作數(shù)的尋址方式?有效地址和物理地址值是多少?,(1)MOVAX,00ABH(2)MOVAX,100H(3)MOVAX,BX(4)MOVAX,BP(5)MOVAX,BX+10(6)MOVAX,BXSI(7)MOVAX,BX(8)MOVAX,VAL(9)MOVAX,ES:BX(10)MOVAX,SI(11)MOVAX,VALBX(12)MOVAX,VALBPSI,堆棧:在內(nèi)存中開(kāi)辟的一片數(shù)據(jù)存儲(chǔ)區(qū)(設(shè)置在堆棧段內(nèi)),存儲(chǔ)方式:是一端固定,另一端活動(dòng),即只允許在一端向該存儲(chǔ)區(qū)存入或取出數(shù)據(jù),數(shù)據(jù)的存取遵循“先進(jìn)后出”原則。從硬件來(lái)看,堆棧由一片存儲(chǔ)單元和一個(gè)指示器(即堆棧指針SP)組成。堆棧的固定端稱棧底(BOTTOM)。堆棧指針SP用于指示數(shù)據(jù)進(jìn)棧和出棧時(shí)偏移地址的變化,SP所指示的最后進(jìn)入數(shù)據(jù)的單元稱棧頂(TOP),堆棧中所有數(shù)據(jù)的存取都在棧頂進(jìn)行。,二.堆棧操作指令,4.2.1數(shù)據(jù)傳送指令,二.堆棧操作指令,4.2.1數(shù)據(jù)傳送指令,(1)壓棧指令格式PUSH,格式為:PUSHSRC;(先減后壓)執(zhí)行的操作:(SP)(SP)2(SP)1,(SP)(SRC)SRC可以是內(nèi)部寄存器、段寄存器、存儲(chǔ)器,二.堆棧操作指令,(2)出棧指令格式POP,格式為:POPDST;(先彈后加)執(zhí)行的操作:(DST)(SP)1,(SP)(SP)(SP)2;DST可以是內(nèi)部寄存器、段寄存器(CS除外)、存儲(chǔ)器。,4.2.1數(shù)據(jù)傳送指令,(2)堆棧操作指令,1)堆棧指令必須是16位雙字節(jié)數(shù),即每進(jìn)行一次PUSH操作,SP減2;每進(jìn)行一次POP操作SP加2;2)目的操作數(shù)DST,與原操作數(shù)SRC都不能為立即數(shù);3)DST不能為代碼段寄存器CS;4)堆棧指令不影響標(biāo)志位寄存器FR的值。,注意,例:PUSH1234HPOPCS,不能用立即尋址方式DST不能是CS,4.2.1數(shù)據(jù)傳送指令,例:實(shí)現(xiàn)兩個(gè)字型存儲(chǔ)器操作數(shù)BUF1及BUF2的交換,方法1:利用寄存器,方法1:利用堆棧,MOVAX,BUF1XCHGAX,BUF2MOVBUF1,AX,PUSHBUF1PUSHBUF2POPBUF1POPBUF2,例:寄存器間交換,MOVAX,1234H;AX=1234HMOVBX,5678H;BX=5678HXCHGAX,BX;AX=5678H,BX=1234HXCHGAH,AL;AX=7856H,4.2.1數(shù)據(jù)傳送指令,(2)POPF指令,指令功能:與PUSHF指令執(zhí)行相反的操作,將堆棧棧頂兩個(gè)單元的內(nèi)容彈出至FR。指令格式:POPF執(zhí)行操作:(FR低8位)(SP);(FR高8位)(SP1);(SP)(SP2);,指令格式:PUSHF指令功能:把標(biāo)志寄存器FR的內(nèi)容壓棧;執(zhí)行操作:(SP)(SP2);(SP)(FR低8位);(SP1)(FR高8位);,PUSHF和POPF是成對(duì)出現(xiàn),用于保護(hù)和修改FR,標(biāo)志傳送指令,三.,4.2.1數(shù)據(jù)傳送指令,進(jìn)入子程序pushaxpushbxpushcxpushfpopfpopcxpopbxpopax返回,子程序內(nèi)容,進(jìn)入子程序首先保護(hù)現(xiàn)場(chǎng),從子程序返回前恢復(fù)現(xiàn)場(chǎng),例:子程序應(yīng)用,4.2.1數(shù)據(jù)傳送指令,指令功能:將源操作數(shù)傳送至一對(duì)目標(biāo)寄存器;指令格式:LDSREG,SRC;執(zhí)行操作:(REG)(SRC)(DS)(SRC2);,(2)LDS指針?biāo)图拇嫫骱虳S,4.2.1數(shù)據(jù)傳送指令,四.地址傳送指令,(3)LES指針?biāo)图拇嫫骱虴S,指令功能:除地址指針的段地址送ES外,其他與LDS類似;指令格式:LDSREG,SRC;執(zhí)行操作:(REG)SRC;(ES)(SRC2);,4.2.1數(shù)據(jù)傳送指令,例:LEABX,BX+SI+0F62HLDSSI,10HLESDI,BX,TABLE(DS):1000H,MOVBX,TABLE;(BX)=0040HMOVBX,OFFSETTABLE;(BX)=1000HLEABX,TABLE;(BX)=1000HLDSBX,TABLE;(BX)=0040H;(DS)=3000HLESBX,TABLE;(BX)=0040H;(ES)=3000H,注意:*不影響標(biāo)志位*REG不能是段寄存器*SRC必須為存儲(chǔ)器尋址方式,4.2.1數(shù)據(jù)傳送指令,算術(shù)運(yùn)算指令,運(yùn)算的操作數(shù)允許是字節(jié)或字;可以是有符號(hào)數(shù),也可以是無(wú)符號(hào)數(shù)。指令中有單操作數(shù)指令,也有雙操作數(shù)指令。,4.2.2,算術(shù)運(yùn)算指令,4.2.2,算術(shù)運(yùn)算指令,1.加法指令,(1)加法指令A(yù)DD,指令格式:ADDDST,SRC;執(zhí)行操作:(DST)(SRC)(DST),指令格式:ADCDST,SRC;執(zhí)行操作:(DST)(SRC)(DST)CF,運(yùn)算結(jié)果影響的標(biāo)志位:CF、DF、PF、SF、ZF和AFADC指令主要與ADD配合,實(shí)現(xiàn)多精度加法運(yùn)算,注意:ADD和ADC影響標(biāo)志位:,1結(jié)果為負(fù)0否則,SF=,1結(jié)果為00否則,ZF=,1和的最高有效位有向高位的進(jìn)位0否則,CF=,1同號(hào)相同,結(jié)果相異0否則,OF=,CF位表示無(wú)符號(hào)數(shù)相加的溢出。OF位表示帶符號(hào)數(shù)相加的溢出。,4.2.2,算術(shù)運(yùn)算指令,1.加法指令,ADD,ADC,例:n=8bit帶符號(hào)數(shù)(-128127),無(wú)符號(hào)數(shù)(0255),帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)都不溢出,帶符號(hào)數(shù)溢出,無(wú)符號(hào)數(shù)溢出,帶符號(hào)數(shù)和無(wú)符號(hào)數(shù)都溢出,例雙精度數(shù)加法計(jì)算,已知:(DX)=0002H(AX)=0F365H(BX)=0005H(CX)=8100H指令序列ADDAX,CX;(1)ADCDX,BX;(2),(1)執(zhí)行后(AX)=7465HCF=1OF=1SF=0ZF=0,(2)執(zhí)行后(DX)=0008HCF=0OF=0SF=0ZF=0,4.2.2算術(shù)運(yùn)算指令,(3)加1指令I(lǐng)NC,指令格式:INCOPR執(zhí)行操作:(OPR)(OPR)1,【例】INCALINCBYTEPTRBXINCWORDPTRBX,INC,4.2.2算術(shù)運(yùn)算指令,SUB,SBB,DEC,4.2.2算術(shù)運(yùn)算指令,2.減法指令,CMP,4.2.2算術(shù)運(yùn)算指令,例x、y、z均為雙精度數(shù),分別存放在地址為X,X+2;Y,Y+2;Z,Z+2的存儲(chǔ)單元中,用指令序列實(shí)現(xiàn):wx+y+24-z,并用W,W+2單元存放w,MOVAX,XMOVDX,X+2ADDAX,YADCDX,Y+2;x+y,ADDAX,24ADCDX,0;x+y+24,SUBAX,ZSBBDX,Z+2;x+y+24-z,MOVW,AXMOVW+2,DX;結(jié)果存入W,W+2單元,3.,(1)無(wú)符號(hào)數(shù)乘法指令MUL,乘法指令,指令格式:MULSRC指令操作:(AX)(AL)*(SRC);字節(jié)操作數(shù)(DX,AX)(AX)*(SRC);字操作數(shù),4.2.2算術(shù)運(yùn)算指令,乘法指令對(duì)CF/OF的影響:,00乘積的高一半為零11否則,MUL指令,CF,OF=,00乘積的高一半是低一半的符號(hào)擴(kuò)展11否則,3.,乘法指令,CF,OF=,IMUL指令,4.2.2算術(shù)運(yùn)算指令,除法指令,4.,指令I(lǐng)DIV格式與操作同DIV指令。,4.2.2算術(shù)運(yùn)算指令,除法指令,4.,除法錯(cuò)中斷:當(dāng)被除數(shù)遠(yuǎn)大于除數(shù)時(shí),所得的商有可能超出它所能表達(dá)的范圍。如果存放商的寄存器AL/AX不能表達(dá),便產(chǎn)生溢出;8086CPU中就產(chǎn)生編號(hào)為0的內(nèi)部中斷除法錯(cuò)中斷。發(fā)生除法溢出的情況:對(duì)DIV指令,除數(shù)為0,或在字節(jié)除時(shí)商超過(guò)8位,或者在字除時(shí)商超過(guò)16位。對(duì)IDIV指令,除數(shù)為0,或在字節(jié)除時(shí)商不在-128127范圍內(nèi),或者在字除時(shí)商不在-3276832767范圍內(nèi)。,4.2.2算術(shù)運(yùn)算指令,5.符號(hào)擴(kuò)展指令,指令功能:ALAX指令格式:CBW若(AL)的最高有效位為0,則(AH)=00H若(AL)的最高有效位為1,則(AH)=FFH,指令功能:AX(DX,AX)指令格式:CWD若(AX)的最高有效位為0,則(DX)=0000H若(AX)的最高有效位為1,則(DX)=FFFFH,4.2.2算術(shù)運(yùn)算指令,5.符號(hào)擴(kuò)展指令,例(AX)=0BA45HCBW;(AX)=0045HCWD;(DX)=0FFFFH;(AX)=0BA45H,符號(hào)擴(kuò)展;指用一個(gè)操作數(shù)的符號(hào)位(即最高位)形成另一個(gè)操作數(shù)。后一個(gè)操作數(shù)的各位是全0(正數(shù))或全1(負(fù)數(shù))。符號(hào)擴(kuò)展不改變數(shù)據(jù)大小,即將原操作數(shù)的符號(hào)位復(fù)制到擴(kuò)展后高半部分的各個(gè)位。,數(shù)據(jù)64H(表示+100),其最高位D7為0,符號(hào)擴(kuò)展后:0064H(仍表示數(shù)據(jù)100)數(shù)據(jù)ff00H(表示256),其最高位D15為1,符號(hào)擴(kuò)展后:ffffff00H(仍表示有符號(hào)數(shù)256),4.2.2算術(shù)運(yùn)算指令,例xyzv均為16位帶符號(hào)數(shù),計(jì)算(v(x*y+z540)/x,MOVAX,XIMULY;X*Y(DX,AX),MOVCX,AXMOVBX,DXMOVAX,ZCWD;Z(DX,AX),ADDCX,AXADCBX,DX;X*Y+Z(BX,CX),SUBCX,540SBBBX,0;X*Y+Z-540,MOVAX,VCWD;V(DX,AX)SUBAX,CXSBBDX,BX;V-(X*Y+Z-540),IDIVX;(V-(X*Y+Z-540)/X(AX)余數(shù)(DX),邏輯操作類指令,1.邏輯運(yùn)算指令,指令功能:將OPR內(nèi)容按位取反并送回指令格式:NOTOPR指令操作:(OPR)(OPR),指令功能:兩個(gè)操作數(shù)按位邏輯與運(yùn)算,結(jié)果送目的操作數(shù)指令格式:ANDDST,SRC指令操作:(DST)(DST)(SRC)運(yùn)算法則:(全1為1,有0出0)11=1,10=0,01=0,00=0。該指令可以清除目的操作數(shù)中與源操作數(shù)置0的對(duì)應(yīng)位,4.2.3邏輯操作類指令,1.邏輯運(yùn)算指令,(3),指令功能:兩個(gè)操作數(shù)按位邏輯或運(yùn)算,結(jié)果送目的操作數(shù)指令格式:ORDST,SRC指令操作:(DST)(DST)(SRC)運(yùn)算法則:(全0為0,有1出1)11=1,10=1,01=1,00=0該指令可以使操作數(shù)中某些位置1,而其他位保持不變,邏輯或指令OR,指令功能:兩個(gè)操作數(shù)按位異或運(yùn)算,結(jié)果送目的操作數(shù)指令格式:XORDST,SRC指令操作:(DST)(DST)(SRC)運(yùn)算法則:11=0,10=1,01=1,00=0XOR指令可以將指定位求反,4.2.3邏輯操作類指令,1.邏輯運(yùn)算指令,(5)測(cè)試指令TEST,指令功能:與AND指令的唯一區(qū)別是結(jié)果不回送目的地址指令格式:TESTOPR1,OPR2指令操作:(OPR1)(OPR2)可在不改變?cè)床僮鲾?shù)的情況下,測(cè)試某一位或幾位的值,4.2.3邏輯操作類指令,邏輯運(yùn)算指令,4.2.3邏輯操作類指令,例:屏蔽AL的第0、1兩位ANDAL,0FCH,*OR00100000*1*,*01XOR00000011*10,*AND11111100*00,*AND000000010000000*,例:置AL的第5位為1ORAL,20H,例:使AL的第0、1位變反XORAL,3,例:測(cè)試某些位是0是1TESTAL,1JZEVEN,4.2.3邏輯操作類指令,邏輯運(yùn)算指令用途,AND指令:用于把某位清0(與0相與,也可稱為屏蔽某位);某位保持不變(與1相與)的場(chǎng)合。OR指令:用于把某位置1(與1相或)、某位保持不變(與0相或)的場(chǎng)合。NOT指令:可用于把操作數(shù)的每一位均變反的場(chǎng)合。XOR指令:用于把某位變反(與1相異或)、某位保持不變(與0相異或)的場(chǎng)合。TEST指令:可用于只測(cè)試其值而不改變操作數(shù)的場(chǎng)合。,例1設(shè)從鍵盤(pán)接收的一個(gè)十進(jìn)制數(shù)的ASCII碼在AL中,要求把它轉(zhuǎn)換成非壓縮BCD碼的形式(數(shù)字0-9)。,ANDAL,0FH;清0高4位,低4位不變,例2把AL中的非壓縮BCD碼轉(zhuǎn)換成十進(jìn)制數(shù)的ASCII碼形式。,ORAL,30H;AL中的高4位變成0011B,低4位不變,4.2.3邏輯操作類指令,例3按位加運(yùn)算。MOVAL,45H;(AL)=45HXORAL,31H;(AL)=74H,01000101(45H),(XOR)00110001(31H),01110100(74H),4.2.3邏輯操作類指令,例4設(shè)某并行打印機(jī)的狀態(tài)端口是379H,其D7位是忙閑位,若D70表示忙,為1表示閑,測(cè)試該打印機(jī)當(dāng)前狀態(tài),若為忙繼續(xù)測(cè)試,否則順序執(zhí)行下一條指令。,MOVDX,379HWT:INAL,DXTESTAL,80HJZWT,4.2.3邏輯操作類指令,2.移位指令,4.3.3邏輯操作類指令,帶進(jìn)位循環(huán)左移,循環(huán)右移,循環(huán)左移,CF中總是最后移進(jìn)的位,當(dāng)CNT1時(shí),移位使符號(hào)位改變則置OF=1,否則清0,不影響ZF、SF、PF,例1(AX)=0012H,(BX)=0034H,把它們裝配成(AX)=1234H,例2(BX)=84F0H(1)(BX)為無(wú)符號(hào)數(shù),求(BX)/2,MOVCL,8ROLAX,CLADDAX,BX,(2)(BX)為帶符號(hào)數(shù),求(BX)2,(3)(BX)為帶符號(hào)數(shù),求(BX)/4,SHRBX,1;(BX)=4278H,SALBX,1;(BX)=09E0H,OF=1,MOVCL,2SARBX,CL;(BX)=0E13CH,4.2.3邏輯操作類指令,程序控制類指令,4.2.4,程序控制類指令,1.無(wú)條件轉(zhuǎn)移指令JMP,根據(jù)轉(zhuǎn)移的距離,JMP指令可分為下列兩類:段內(nèi)轉(zhuǎn)移:在同一代碼段內(nèi)進(jìn)行,又稱近(Near)轉(zhuǎn)移,只要修改IP的值即可實(shí)現(xiàn)。段間轉(zhuǎn)移:可在不同代碼段之間進(jìn)行,又稱遠(yuǎn)(Far)轉(zhuǎn)移,需要同時(shí)修改CS和IP的值。,根據(jù)目標(biāo)地址的指定方式,JMP指令又可分為直接轉(zhuǎn)移和間接轉(zhuǎn)移。直接轉(zhuǎn)移:是指轉(zhuǎn)移的目標(biāo)地址直接出現(xiàn)在指令中,在程序執(zhí)行前就已確定。間接轉(zhuǎn)移:指轉(zhuǎn)移的目標(biāo)地址是寄存器或內(nèi)存操作數(shù)的值,只有執(zhí)行到該條指令時(shí)才能確定。,4.2.4,程序控制類指令,1.無(wú)條件轉(zhuǎn)移指令JMP,指令格式:JMP地址標(biāo)號(hào)指令功能:無(wú)條件轉(zhuǎn)移到DST所指向的地址,段內(nèi)直接短跳轉(zhuǎn)格式:JMPSHORTOPR操作:(IP)(IP)+8位位移量(符號(hào)擴(kuò)展到16位)說(shuō)明:其中8位位移量是由目標(biāo)地址OPR確定的。注意:轉(zhuǎn)移格式只允許在-128到+127字節(jié)的范圍內(nèi)轉(zhuǎn)移。,段內(nèi)直接近轉(zhuǎn)移格式:JMPNEARPTROPR操作:(IP)(IP)+16位位移量說(shuō)明:它和段內(nèi)直接短跳轉(zhuǎn)一樣,也采用相對(duì)尋址方式。注意:這種方式的位移量為16位,故它可轉(zhuǎn)移到段內(nèi)的任一個(gè)位置。,JMPlabel;段內(nèi)轉(zhuǎn)移、相對(duì)尋址;IPIP位移量JMPr16/m16;段內(nèi)轉(zhuǎn)移、間接尋址;IPr16/m16JMPfarptrlabel;段間轉(zhuǎn)移、直接尋址;IP偏移地址,CS段地址JMPfarptrmem;段間轉(zhuǎn)移,間接尋址;IPmem,CSmem2,演示,演示,1.無(wú)條件轉(zhuǎn)移指令JMP,演示,演示,演示,4.2.4程序控制類指令,4.2.4程序控制類指令,2.條件轉(zhuǎn)移指令,條件轉(zhuǎn)移指令的通用匯編格式:JCCLABEL功能:如果條件為真,則轉(zhuǎn)向標(biāo)號(hào)處,否則順序執(zhí)行下一條指令。說(shuō)明:其中cc為條件,LABEL是要轉(zhuǎn)向的標(biāo)號(hào)。在808680286中,該地址應(yīng)在與當(dāng)前IP值的128127范圍之內(nèi),即只能使用與轉(zhuǎn)移地址有關(guān)的尋址方式的段內(nèi)短轉(zhuǎn)移格式,其位移量占用一個(gè)字節(jié)。,(2)有符號(hào)數(shù)的條件轉(zhuǎn)移指令,(3)無(wú)符號(hào)數(shù)的條件轉(zhuǎn)移指令,例1比較無(wú)符號(hào)數(shù)大小,將較大的數(shù)存放AX寄存器。CMPAX,BX;(AX)(BX)JNBNEXT;若AX>=BX,轉(zhuǎn)移到NEXTXCHGAX,BX;若AX=BX,轉(zhuǎn)移到NEXTXCHGAX,BX;若AX<BX,交換NEXT:,4.2.4程序控制類指令,3.,循環(huán)控制指令,(1)LOOP循環(huán)指令,指令格式:LOOP標(biāo)號(hào)指令功能:(CX)1CX,若(CX)0,則轉(zhuǎn)向標(biāo)號(hào)處執(zhí)行循環(huán)體,否則順序執(zhí)行下一條指令。,循環(huán)指令可以控制程序的循環(huán)。它們的特點(diǎn)是:循環(huán)入口地址(指令中的標(biāo)號(hào))只能在當(dāng)前IP值的128127范圍之內(nèi)。用CX作為循環(huán)次數(shù)計(jì)數(shù)器。不影響標(biāo)志。,4.2.4程序控制類指令,3.,循環(huán)控制指令,(2)LOOPE/LOOPZ相等或?yàn)榱銜r(shí)循環(huán)指令,指令格式:LOOPZ(LOOPE)OPR指令功能:(CX)1CX,若(CX)0andZF1,則轉(zhuǎn)向標(biāo)號(hào)處執(zhí)行循環(huán)體,否則順序執(zhí)行下一條指令。,(3)LOOPNE/LOOPNZ不相等或不為零時(shí)循環(huán)指令,指令格式:LOOPNZ(LOOPE)OPR指令功能:(CX)1CX,若(CX)0andZF0,則轉(zhuǎn)向標(biāo)號(hào)處執(zhí)行循環(huán)體,否則順序執(zhí)行下一條指令,4.2.4程序控制類指令,3.,循環(huán)控制指令,例用累加的方法實(shí)現(xiàn)MN,并把結(jié)果保存到RESULT單元。,MOVAX,0;清0累加器MOVBX,MCMPBX,0JZTERM;被乘數(shù)為0轉(zhuǎn)MOVCX,NJCXZTERM;乘數(shù)為0轉(zhuǎn)L1:ADDAX,BXLOOPL1TERM:MOVRESULT,AX;保存結(jié)果,4.2.4程序控制類指令,過(guò)程調(diào)用指令CALL必須同返回指令RET成對(duì)使用。過(guò)程定義的形式如下:過(guò)程名PROCnear/far過(guò)程體RET過(guò)程名ENDP,過(guò)程調(diào)用與返回指令,4.,段內(nèi)調(diào)用:子程序與調(diào)用指令在同一個(gè)段內(nèi)包括:段內(nèi)直接近調(diào)用段內(nèi)間接近調(diào)用段間調(diào)用:子程序與調(diào)用指令在不同段內(nèi)包括:段間直接遠(yuǎn)調(diào)用段間間接遠(yuǎn)調(diào)用,4.2.4程序控制類指令,過(guò)程調(diào)用與返回指令,4.,4.2.4程序控制類指令,過(guò)程調(diào)用與返回指令,4.,二、段間調(diào)用,執(zhí)行操作:保存斷點(diǎn)(IP和CS入棧):(SP)(SP)-2;(SP)+1,(SP)(CS)(SP)(SP)-2;(SP)+1,(SP)(IP)重新設(shè)置IP值:段間直接遠(yuǎn)調(diào)用(IP)偏移地址;(CS)段地址段間間接遠(yuǎn)調(diào)用:(IP)(EA);(CS)(EA+2),段間直接遠(yuǎn)調(diào)用指令格式:CALLFARPTR過(guò)程名段間間接遠(yuǎn)調(diào)用:指令格式:CALLDWORDPTR過(guò)程名,4.2.4程序控制類指令,過(guò)程調(diào)用與返回指令,(2),段內(nèi)近返回指令格式:RET執(zhí)行操作:(IP)(SP)+1,(SP)(SP)(SP)+2,RET返回指令,段間遠(yuǎn)返回指令格式:RET執(zhí)行操作:(IP)(SP)+1,(SP);(SP)(SP)+2(CS)(SP)+1,(SP);(SP)(SP)+2,4.,4.2.4程序控制類指令,中斷指令,5.,(1)軟中斷指令,指令格式:INTN執(zhí)行操作:(SP)(SP)2;(SP)+1,(SP)(PSW)(SP)(SP)2;(SP)+1,(SP)(CS)(SP)(SP)2;(SP)+1,(SP)(IP)(IP)(N*4);(CS)(N*4+2),(2)中斷返回指令,指令格式:IRET執(zhí)行操作:(IP)(SP)+1,(SP);(SP)(SP)+2(CS)(SP)+1,(SP);(SP)(SP)+2(PSW)(SP)+1,(SP);(SP)(SP)+2,4.2.4程序控制類指令,0923:0000MOVSP,10H0923:0003M0VAX,1234H0923:0006MOVBX,3673H0923:0009PUSHAX(1)0923:000ACALLSUBR(2)0923:000DPOPCX0923:000EMOVAH,020923:000FMOVDL,35H0923:0012INT21H0923:0013INT3H0923:0015SUBR:POPAX0923:0016POPCX(3)0923:0017SUBCX,BX0923:0018PUSHCX0923:001APUSHAX(4)0923:001BRET(5),寫(xiě)出標(biāo)號(hào)指令執(zhí)行后AX,BX,IP,SP的值,數(shù)據(jù)串操作類指令,4.2.5數(shù)據(jù)串操作類指令,“串”是指一組連續(xù)存取的數(shù),所占用的M單元一定是連續(xù)一片M區(qū)域.數(shù)據(jù)傳送類指令每次只能傳送一個(gè)數(shù)據(jù),若要傳送大批數(shù)據(jù)就需要重復(fù)編程,這樣就浪費(fèi)了大量的時(shí)間和空間。利用串操作指令可以方便地處理字符串或數(shù)據(jù)塊。,4.2.5數(shù)據(jù)串操作類指令,一、串指令的特點(diǎn)1指令格式串指令可以顯式地帶有操作數(shù),也可以使用隱含格式,經(jīng)常使用隱含格式。例如串傳送指令MOVS,可以有以下幾種格式:顯式:MOVSDST,SRC隱式:MOVSB;字節(jié)傳送MOVSW;字傳送MOVSD;雙字傳送若指令的最后一個(gè)字母是B,則實(shí)現(xiàn)字節(jié)傳送;若是W,則實(shí)現(xiàn)字傳送;若是D,則實(shí)現(xiàn)雙字傳送。操作數(shù)時(shí)應(yīng)先建立地址指針。,一、串指令的特點(diǎn)2操作數(shù)串指令可以處理寄存器操作數(shù)和存儲(chǔ)器操作數(shù)。若為R操作數(shù)則只能放在累加器中,對(duì)于字節(jié)操作數(shù)應(yīng)放在AL中,字操作數(shù)放在AX中。對(duì)于M操作數(shù)應(yīng)先建立地址指針:若為源操作數(shù),DS:SI,允許使用段超越前綴。若為目標(biāo)操作數(shù),ES:DI,不允許使用段超越前綴3地址指針的修改串指令執(zhí)行后系統(tǒng)自動(dòng)修改地址指針SI、DI。若為字節(jié)型操作其修改量為1,若為字型操作其修改量為2,若為雙字型操作其修改量為4。,4.2.5數(shù)據(jù)串操作類指令,4方向標(biāo)志DF決定地址指針的增減方向。若DF0,則地址指針增量;若DF1,則地址指針減量??梢杂肅LD和STD指令復(fù)位和置位DF。,一、串指令的特點(diǎn),5重復(fù)前綴串指令前可以加重復(fù)前綴REPEREPZ、REP或REPNEREPNZ,使后跟的串指令重復(fù)執(zhí)行。重復(fù)次數(shù)應(yīng)事先初始化在計(jì)數(shù)器CX中。,4.2.5數(shù)據(jù)串操作類指令,4.2.5數(shù)據(jù)串操作類指令,1.串傳送指令MOVS,MOVS(MoveString):串傳送指令格式:MOVSDST,SRCMOVSBMOVSW指令功能:ES:DIDS:SI;將DS:SI所指源串的1個(gè)元素復(fù)制到ES:DI所指的內(nèi)存單元SI和DI增加或減少1/2。若DF=0,則增加,否則減少。對(duì)標(biāo)志位的影響:無(wú)。,演示,演示,4.2.5數(shù)據(jù)串操作類指令,2.串比較指令CMPS,CMPS(CompareStrings):串比較指令格式:CMPSSRC,DSTCMPSBCMPSW指令功能:DS:SIES:DI;將DS:SI所指源串的1個(gè)元素與ES:DI所指目的串的1個(gè)元素進(jìn)行比較,不傳送結(jié)果,只根據(jù)比較結(jié)果設(shè)置標(biāo)志位。然后,SI和DI增加或減少1/2/4。,4.2.5數(shù)據(jù)串操作類指令,3.串掃描指令SCAS,SCAS(ScanString):串掃描指令格式:SCASDSTSCASBSCASW指令功能:(先將AL/AX/關(guān)鍵字),AL/AXES:DI;將AL/AX與ES:DI所指目的串進(jìn)行比較,不傳送結(jié)果,只根據(jù)比較結(jié)果設(shè)置標(biāo)志位。然后,DI增加或減少1/2。,4.2.5數(shù)據(jù)串操作類指令,4.重復(fù)前綴,無(wú)條件重復(fù)前綴REP當(dāng)CX0重復(fù)執(zhí)行后面的串指令,每執(zhí)行1次,CX=CX1;若(CX)0,則結(jié)束重復(fù)(相等/為零時(shí))重復(fù)前綴REPEREPZ當(dāng)CX0且ZF=1時(shí),重復(fù)執(zhí)行后面的串指令;每執(zhí)行1次,CX=CX1,若(CX)0(計(jì)數(shù)到)或ZF0(不相等),則結(jié)束重復(fù)。,4.2.5數(shù)據(jù)串操作類指令,4.重復(fù)前綴,(不等/不為0時(shí))重復(fù)前綴REPNEREPNZ當(dāng)CX0且ZF=0時(shí),重復(fù)執(zhí)行后面的串指令;每執(zhí)行1次,CX=CX1,若(CX)0(計(jì)數(shù)到)或ZF1(相等),則結(jié)束重復(fù)。說(shuō)明:若CX初值為0,則不執(zhí)行任何操作,而且標(biāo)志位不變。,演示,4.2.5數(shù)據(jù)串操作類指令,串指令的用途串指令主要用于處理連續(xù)的內(nèi)存單元,與重復(fù)前綴配合使用更有效。MOVS用于將一個(gè)內(nèi)存塊的數(shù)據(jù)復(fù)制到另一塊;CMPS用于比較兩個(gè)內(nèi)存區(qū)的數(shù)據(jù);SCAS可以在一個(gè)內(nèi)存區(qū)中掃描與給定值首次匹配或不匹配的元素;,4.2.5數(shù)據(jù)串操作類指令,例1已知:在某50個(gè)字節(jié)的字符串中查找是否有$字符,若有,將該字符的地址送入BX;否則將BX清0,字符串的偏移地址為0100H。,CLDMOVCX,50MOVDI,0100HMOVAL,$,ANDCX,0FFH,REPNESCASB,JZZER,MOVBX,DIJMPSTOPSTOP:HLT,DECDI,ZER:MOVBX,0,例2檢驗(yàn)100個(gè)字節(jié)被傳送的數(shù)據(jù)是否與源串完全相同。若相同將BX清0,若不同BX指向源串中第一個(gè)不相同字節(jié)的地址,并將該字節(jié)的內(nèi)容保留在AL中。假設(shè)源串的偏移地址為2400H,目標(biāo)串的偏移地址為0100H。,MOVBX,SIMOVAL,SIJMPSTOP,CLDMOVCX,100MOVSI,2400HMOVDI,0100H,ANDCX,0FFH,DECSI,EQQ:MOVBX,0STOP:HLT,JZEQQ,REPECMPSB,輸入輸出指令,4.2.6輸入輸出指令,【預(yù)備知識(shí)】,I/O接口包含多個(gè)存放數(shù)據(jù)、狀態(tài)和控制信息的寄存器,分別以端口地址標(biāo)識(shí)。數(shù)據(jù)的輸入/輸出是通過(guò)I/O端口實(shí)現(xiàn)的。80 x86系統(tǒng)通過(guò)I/O指令實(shí)現(xiàn)對(duì)I/O端口的讀寫(xiě)。,2.接口與端口的關(guān)系,數(shù)據(jù)信息狀態(tài)信息控制信息,1.外部設(shè)備的信號(hào),指令格式:IN累加器,PORT功能:把外設(shè)端口(PORT)的內(nèi)容傳送給累加器。,4.26輸入輸出指令,四種形式:,1輸入指令I(lǐng)N,4.2.6輸入輸出指令,端口地址PORT是一個(gè)8位的立即數(shù),其范圍為0-255;可以傳送的數(shù)據(jù)為8位、16位或32位,相應(yīng)的累加器選擇AL、AX或EAX;若端口號(hào)在0-255之間,端口號(hào)直接寫(xiě)在指令中;此為直接端口尋址方式若端口號(hào)大于255,端口號(hào)通過(guò)DX寄存器間接尋址,即端口號(hào)應(yīng)先放入DX中。此為間接端口尋址方式。輸入指令不影響標(biāo)志位。,【例1】(1)INAL,21H;AL(21H端口)(2)INAX,21H;AX(21H,22H端口)(3)MOVDX,3F8HINAL,DX;AL(3F8H端口),4.2.6輸入輸出指令,指令格式:OUTPORT,累加器功能:把累加器的內(nèi)容傳送給外設(shè)端口。,4.2.6輸入輸出指令,2輸出指令OUT,四種形式:,累加器、端口號(hào)的選擇,標(biāo)志位的影響同IN指令。,【例2】對(duì)80H端口下字節(jié)數(shù)據(jù)作取反操作。,4.2.6輸入輸出指令,INAL,80HNOTALOUT80H,AL,若端口地址改為800H,程序作何修改?,MOVDX,800H,DX,DX,I/O端口與存儲(chǔ)器統(tǒng)一編址把內(nèi)存的一部分地址分配給I/O端口,一個(gè)8位端口占用一個(gè)內(nèi)存單元地址;不設(shè)置專門(mén)的I/O指令;,I/O端口獨(dú)立編址內(nèi)存儲(chǔ)器和I/O端口各自有自己獨(dú)立的地址空間;訪問(wèn)I/O端口需要專門(mén)的I/O指令(如8086CPU),4.2.6輸入輸出指令,3.I/O端口編址方式,優(yōu)點(diǎn):使用方便,降低CPU電路的復(fù)雜性;,缺點(diǎn):減少了內(nèi)存可用范圍;難以區(qū)分訪問(wèn)內(nèi)存和I/O的指令,降低了程序的可讀性和可維護(hù)性;,8086用于尋址外設(shè)端口的地址線為16條,無(wú)需分段,端口最多為21664K個(gè),端口號(hào)為0000HFFFFH;PC系列微機(jī)中I/O端口地址分配:僅使用A0A9共10條地址線定義I/O端口設(shè)A10A15=0,尋址范圍為03FFH;前256個(gè)端口地址供主板上尋址I/O接口芯片使用,后768個(gè)供擴(kuò)展槽接口卡使用;,4.2.6輸入輸出指令,【總結(jié)】-I/O端口的應(yīng)用,處理器控制類指令,4.2.7,處理器控制類指令,標(biāo)志操作指令,第4章指令系統(tǒng),小結(jié),4.1尋址方式4.1.1與數(shù)據(jù)有關(guān)的尋址方式4.1.2與轉(zhuǎn)移地址有關(guān)的尋址方式4.2指令系統(tǒng)4.2.1數(shù)據(jù)傳送指令4.2.2算術(shù)運(yùn)算指令4.2.3邏輯指令4.2.4串處理指令4.2.5控制轉(zhuǎn)移指令4.2.6處理器控制指令,選擇題:1.在MOVSB指令中,其目的串的物理地址為()A.DS*2*2*2*2+SIB.DS*2*2*2*2+DIC.ES*2*2*2*2+SID.ES*2*2*2*2+DI2.在串指令REPMOVSB中,重復(fù)次數(shù)一定放在()寄存器中。A.AXB.BXC.CXD.DX3.下面指令中,合理而有意義的指令是()A.REPLODSBB.REPSCASBC.REPCMPSBD.REPMOVSB4.串操作指令中,目標(biāo)串操作數(shù)的段地址一定在()寄存器中。A.CSB.SSC.DSD.ES,5.唯一代表存儲(chǔ)空間中每個(gè)字節(jié)單元地址的是()A.段地址B.偏移地址C.有效地址D.物理地址6.在8086中存儲(chǔ)器是分段組織,每段最大長(zhǎng)度是()A.16KBB.32KBC.64KBD.128KB7.下列四組寄存器中,屬于通用寄存器的是()A.AX,BX,CX,DXB.SP,BP,IPC.SI,DI,F(xiàn)LAGSD.上屬三者都是8.下列四組寄存器中,在段內(nèi)尋址時(shí)可以提供偏移地址的寄存器組是()A.AX,BX,CX,DXB.BP,SP,IP,CSC.BX,BP,SI,DID.BH,BL,CH,C,1.程序分析題MOVAX,0MOVBX,1MOVCX,5LOP:ADDAX,BXADDBX,2LOOPLOP問(wèn)題:(1)程序的功能是什么(可用算式表示)?(2)運(yùn)行后,(AX)=?,2.在BUF起的3個(gè)單元中有3個(gè)字節(jié)的數(shù)據(jù),要求:將第一個(gè)字節(jié)的高4位清零,第二個(gè)字節(jié)右移4位,且移入第三個(gè)字節(jié)的低4位,而保持第三個(gè)字節(jié)的高4位不變,試編寫(xiě)有關(guān)程序段。,LEABX,BUF,MOVDL,BX+1ANDDL,0FH,ANDBX+2,0F0H,ANDBX,0FH,MOVCL,4SHRBX+1,CL,ORBX+2,DL,3.已知(AX)=3200H,(DX)=0A000H,執(zhí)行下列程序段:NOTAXNOTDXADDAX,1ADCDX,0問(wèn)題:(1)程序執(zhí)行后(AX)=()(DX)=()(2)程序功能是什么?,(1)(AX)=(0CE00H)(DX)=(5FFFH)(2)雙字長(zhǎng)數(shù)DX,AX求補(bǔ),4.程序分析題,給出程序執(zhí)行后SP和CX的運(yùn)行結(jié)果設(shè)(SP)=80H,(BX)=0FFH;(AX)=1PUSHBXADDBX,AXXORBX,AXPUSHBXPOPCX,邏輯段分配,立即尋址演示:MOVAL,34,立即尋址演示2,寄存器尋址演示:MOVBX,AX,寄存器尋址演示2,直接尋址演示:MOVAX,2000,直接尋址演示2,寄存器間接尋址演示:MOVAX,BX,寄存器間接尋址演示2,寄存器相對(duì)尋址演示:MOVAL,1000BX,寄存器相對(duì)尋址演示2:MOVAX,1000SI,基址變址尋址演示:MOVAX,BXSI,基址變址尋址演示2,相對(duì)基址變址尋址演示:MOVAX,1000HBXSI,相對(duì)基址變址尋址演示2,SHL/SAL指令,SHR指令,SAR指令,ROL指令,ROR指令,RCL指令,RCR指令,串傳送MOVSB(正向DF0),串傳送MOVSW(反向DF1),REPMOVSB(正向DF0),INAL,21H,OUT43H,AL,

注意事項(xiàng)

本文(計(jì)算機(jī)組成原理指令系統(tǒng).ppt)為本站會(huì)員(zhu****ei)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!