計算機組成原理指令系統(tǒng).ppt
《計算機組成原理指令系統(tǒng).ppt》由會員分享,可在線閱讀,更多相關《計算機組成原理指令系統(tǒng).ppt(161頁珍藏版)》請在裝配圖網上搜索。
指令系統(tǒng),4.1尋址方式4.1.1與數(shù)據(jù)有關的尋址方式4.1.2與轉移地址有關的尋址方式,,第4章,4.2指令系統(tǒng)4.2.1數(shù)據(jù)傳送指令4.2.2算術運算指令4.2.3邏輯指令4.2.4串處理指令4.2.5控制轉移指令4.2.6處理器控制指令,,掌握8086CPU的尋址方式掌握匯編語言的指令系統(tǒng),,教學要求,指令的功能——該指令能夠實現(xiàn)何種操作。通常指令助記符就是指令功能的英文單詞或其縮寫形式。指令支持的尋址方式——該指令中的操作數(shù)可以采用何種尋址方式。指令對標志的影響——該指令執(zhí)行后是否對各個標志位有影響,以及如何影響。其他方面——該指令其他需要特別注意的地方,如指令執(zhí)行時的約定設置、必須預置的參數(shù)、隱含使用的寄存器等。,,第4.1節(jié),,尋址方式,指令基本格式,,一個,一個或幾個,,一條指令實際上包括兩種信息即操作碼和地址碼。操作碼用來表示該指令所要完成的操作,其長度取決于指令系統(tǒng)中的指令條數(shù);地址碼用來描述該指令的操作對象,或者直接給出操作數(shù)或者指出操作數(shù)的存儲器地址或寄存器地址(即寄存器名)。,4.1.1指令格式,,指令中提供的地址數(shù),存儲單元地址碼寄存器編號,1.指令提供地址的方式顯地址方式隱地址方式,:指令中明顯指明地址。:地址隱含約定,不出現(xiàn)在指令中。,直接或間接給出,使用隱地址可以減少指令中的地址數(shù),簡化地址結構。,,4.1.1指令格式,,指令和數(shù)據(jù)的聯(lián)系和區(qū)別聯(lián)系:都是以二進制碼的形式存儲的。區(qū)別:指令的地址是由程序計數(shù)器(PC)規(guī)定的;而數(shù)據(jù)的地址是由指令規(guī)定的。在程序執(zhí)行過程中,要避免修改指令,但可以修改數(shù)據(jù)。,4.1.1指令格式,,指令系統(tǒng),標號:給指令所在的地址取名字。注釋:說明程序,匯編程序不對它作任何處理。操作碼:指計算機所要執(zhí)行的操作,是一種助記符。操作數(shù):指出在指令執(zhí)行過程中所需要的操作數(shù),即指出操作數(shù)存放于何處——CPU內部的寄存器或內存儲器?!裨撟侄慰梢允遣僮鲾?shù)本身外,也可以是操作數(shù)地址或是地址的一部分,還可以是其它有關操作數(shù)的信息?!癫僮鲾?shù)通常為是0個---兩個?!?086指令系統(tǒng)的指令大多數(shù)是雙操作數(shù)指令。,●指令的一般格式,,指令系統(tǒng),,●8086指令系統(tǒng)的指令大多數(shù)是雙操作數(shù)指令。,其中:①源操作數(shù):直接給出參加指令操作的操作數(shù)本身,或指出操作數(shù)放在什么地方;②目的操作數(shù):指出參加指令操作的操作數(shù)放在何處,并指出操作結果送至何處。③指令執(zhí)行前后,源操作數(shù)不變。,●操作數(shù)的形式(3種)立即數(shù):操作數(shù)以常量形式出現(xiàn)(指源操作數(shù))寄存器操作數(shù):要操作的數(shù)據(jù)存在R中。內存操作數(shù):要操作的數(shù)據(jù)存在M中。,,,指令的尋址方式,操作數(shù)可能在哪?,地址的表示方法,物理地址邏輯地址:[段地址:段內偏移量],就是尋找操作數(shù)所在地址的方法。,尋址方式:或者是尋找操作數(shù)有效地址(EA)的方法。,有效地址(EA)的構成,①位移量:disp8位或disp16位②基址寄存器:存放在BX或BP中的內容③變址寄存器:存放在SI或DI中的內容,不同的組合方式不同的尋址方式,,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,1.立即尋址——指令中直接給出操作數(shù),演示,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,即操作數(shù)放在CPU內部寄存器AX、BX、CX、DX、DI、SI、SP和BP中,不需要訪問存儲器。,,2.寄存器尋址——指令中給出存儲操作數(shù)的寄存器號,演示1,演示2,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,3.直接尋址——有效地址EA由指令直接給出。物理地址=(DS)10H+EA,演示1,演示2,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,3.直接尋址,●,4.寄存器間接尋址——指令中直接給出操作數(shù)EA;EA在基址寄存器BP、BX或變址寄存器SI、DI中,而操作數(shù)則在存儲器中。,BX、SI、DI作間址寄存器,指示數(shù)據(jù)段中的數(shù)據(jù);BP作間址寄存器,則指示的是堆棧段中的數(shù)據(jù)。,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,4.寄存器間接尋址,演示1,演示2,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,5.寄存器相對尋址,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,5.寄存器相對尋址,演示1,演示2,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,6.基址變址尋址,4.1.1,與數(shù)據(jù)有關的尋址方式(7種),●,,6.基址變址尋址,演示1,演示2,4.1.1,,與數(shù)據(jù)有關的尋址方式(7種),●,7.相對基址變址尋址,4.1.1,,與數(shù)據(jù)有關的尋址方式(7種),●,7.相對基址變址尋址,演示1,演示2,第4.2節(jié),指令系統(tǒng),4.2,,●8086指令系統(tǒng)按功能可分為6大類:數(shù)據(jù)傳送指令算術運算指令邏輯指令程序控制指令串處理指令輸入輸出類指令處理機控制指令,指令系統(tǒng),,數(shù)據(jù)傳送指令,,4.2.1,,數(shù)據(jù)傳送指令,●一.通用數(shù)據(jù)傳送指令,(1)數(shù)據(jù)傳送MOV指令,●指令格式:MOVDST,SRC;●指令功能:將數(shù)據(jù)從源地址傳送到目的地址,具有“復制”性質;DST、SRC分別為目的操作數(shù)和源操作數(shù).,例如:MOVAX,1234HMOVAL,CL,,注意,MOV指令傳送功能MOVDST,SRC,MOV也并非任意傳送,,,,,,,,,,,,,,,,,立即數(shù),段寄存器CSDSESSS,通用寄存器AXBXCXDXBPSPSIDI,存儲器,4.2.1數(shù)據(jù)傳送指令,具體實現(xiàn),1)數(shù)據(jù)在CPU內部寄存器之間傳送MOVAL,BL;通用寄存器之間字節(jié)傳送MOVDI,BX;通用寄存器之間字傳送MOVDS,AX;通用寄存器傳送到段寄存器MOVAX,ES;段寄存器傳送到通用寄存器,2)立即數(shù)傳送至CPU內部通用寄存器或存儲器中MOVDL,58;8位立即數(shù)傳送到通用寄存器MOVBP,016AH;16位立即數(shù)傳送到通用寄存器MOVBYTEPTR[BX],7BH;8位立即數(shù)傳送到存儲器MOVWORDPTR[BX],057BH;16位立即數(shù)傳送到存儲器,4.2.1數(shù)據(jù)傳送指令,3)數(shù)據(jù)在CPU內部寄存器與存儲器之間的傳送MOVCL,[BX+5];字節(jié)傳送MOVAX,[SI];變址傳送MOVDS,[BX+SI];基址變址傳送MOVAX,DATA[BP][SI];相對基址變址傳送MOV[DI],BX;將BX內容傳送到DI所指位置MOVBX,DATA1;將符號地址DATA1的存儲器內容傳送到BX中,具體實現(xiàn),4.2.1數(shù)據(jù)傳送指令,常見錯誤,①CS和IP不能作為目的操作數(shù)MOVCS,AX(X)MOVIP,AX(X),②不允許數(shù)據(jù)直接從存儲器傳送到存儲器如要把DS段內偏移地址為ADDR1的存儲單元的內容,傳送至同一段內地址為ADDR2的存儲單元中去,MOVADDR2,ADDR1MOVAL,ADDR1MOVADDR2,AL,(X),(V),4.2.1數(shù)據(jù)傳送指令,常見錯誤,③立即數(shù)不允許直接送段寄存器,也不允許在兩個段寄存器之間直接傳送信息。MOVDS,5000H(X)MOVDS,ES(X)可以用通用寄存器(如AX)為橋梁來實現(xiàn)傳送。MOVAX,5000HMOVDS,AX(V),4.2.1數(shù)據(jù)傳送指令,,,●一.通用數(shù)據(jù)傳送指令,●指令格式:XCHGOPR1,OPR2;執(zhí)行操作:OPR1?OPR2;●指令功能:將一個字節(jié)或一個字的源操作數(shù)和目的操作數(shù)相交換;,(2)交換指令XCHG,●交換可在reg之間、reg與mem之間進行。可以是字節(jié)交換,也可以是字交換。段寄存器內容不能交換。,4.2.1數(shù)據(jù)傳送指令,復習提問,1.說明程序功能,尋址方式,判斷對錯并改正(1)MOV[2000H],BX(2)MOV2000H,IP(3)MOVSS,2000H(4)MOVDS,[SI+DI](5)MOVDS,ES(6)MOV[BX+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。試說明下列各指令執(zhí)行后,AX寄存器的內容。,(1)MOVAX,1200H(2)MOVAX,BX(3)MOVAX,[1200H](4)MOVAX,[BX](5)MOVAX,1100H[BX](6)MOVAX,[BX][SI](7)MOVAX,1100H[BX][SI],復習提問,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,[BX][SI](7)MOVAX,BX(8)MOVAX,VAL(9)MOVAX,ES:[BX](10)MOVAX,[SI](11)MOVAX,VAL[BX](12)MOVAX,VAL[BP][SI],堆棧:在內存中開辟的一片數(shù)據(jù)存儲區(qū)(設置在堆棧段內),存儲方式:是一端固定,另一端活動,即只允許在一端向該存儲區(qū)存入或取出數(shù)據(jù),數(shù)據(jù)的存取遵循“先進后出”原則。從硬件來看,堆棧由一片存儲單元和一個指示器(即堆棧指針SP)組成。堆棧的固定端稱棧底(BOTTOM)。堆棧指針SP用于指示數(shù)據(jù)進棧和出棧時偏移地址的變化,SP所指示的最后進入數(shù)據(jù)的單元稱棧頂(TOP),堆棧中所有數(shù)據(jù)的存取都在棧頂進行。,●二.堆棧操作指令,,4.2.1數(shù)據(jù)傳送指令,,●二.堆棧操作指令,4.2.1數(shù)據(jù)傳送指令,,,(1)壓棧指令格式PUSH,●格式為:PUSHSRC;(先減后壓)執(zhí)行的操作:(SP)←(SP)-2((SP)+1,(SP))←(SRC)SRC可以是內部寄存器、段寄存器、存儲器,●二.堆棧操作指令,(2)出棧指令格式POP,●格式為:POPDST;(先彈后加)執(zhí)行的操作:(DST)←((SP)+1,(SP))(SP)←(SP)+2;DST可以是內部寄存器、段寄存器(CS除外)、存儲器。,4.2.1數(shù)據(jù)傳送指令,,,(2)堆棧操作指令,,1)堆棧指令必須是16位雙字節(jié)數(shù),即每進行一次PUSH操作,SP減2;每進行一次POP操作SP加2;2)目的操作數(shù)DST,與原操作數(shù)SRC都不能為立即數(shù);3)DST不能為代碼段寄存器CS;4)堆棧指令不影響標志位寄存器FR的值。,,注意,例:PUSH1234H?POPCS?,不能用立即尋址方式DST不能是CS,4.2.1數(shù)據(jù)傳送指令,例:實現(xiàn)兩個字型存儲器操作數(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í)行相反的操作,將堆棧棧頂兩個單元的內容彈出至FR?!裰噶罡袷剑篜OPF執(zhí)行操作:(FR低8位)→(SP);(FR高8位)→(SP+1);(SP)←(SP+2);,●指令格式:PUSHF●指令功能:把標志寄存器FR的內容壓棧;執(zhí)行操作:(SP)←(SP-2);(SP)←(FR低8位);(SP+1)←(FR高8位);,PUSHF和POPF是成對出現(xiàn),用于保護和修改FR,,標志傳送指令,●三.,4.2.1數(shù)據(jù)傳送指令,進入子程序pushaxpushbxpushcxpushf∶∶∶∶popfpopcxpopbxpopax返回,,子程序內容,進入子程序首先保護現(xiàn)場,從子程序返回前恢復現(xiàn)場,,,例:子程序應用,4.2.1數(shù)據(jù)傳送指令,●指令功能:將源操作數(shù)傳送至一對目標寄存器;●指令格式:LDSREG,SRC;執(zhí)行操作:(REG)←(SRC)(DS)←(SRC+2);,(2)LDS指針送寄存器和DS,4.2.1數(shù)據(jù)傳送指令,,●四.地址傳送指令,,(3)LES指針送寄存器和ES,●指令功能:除地址指針的段地址送ES外,其他與LDS類似;●指令格式:LDSREG,SRC;執(zhí)行操作:(REG)←SRC;(ES)←(SRC+2);,4.2.1數(shù)據(jù)傳送指令,例:LEABX,[BX+SI+0F62H]LDSSI,[10H]LESDI,[BX],,TABLE(DS):1000H,MOVBX,TABLE;(BX)=0040HMOVBX,OFFSETTABLE;(BX)=1000HLEABX,TABLE;(BX)=1000HLDSBX,TABLE;(BX)=0040H;(DS)=3000HLESBX,TABLE;(BX)=0040H;(ES)=3000H,注意:*不影響標志位*REG不能是段寄存器*SRC必須為存儲器尋址方式,4.2.1數(shù)據(jù)傳送指令,,算術運算指令,運算的操作數(shù)允許是字節(jié)或字;可以是有符號數(shù),也可以是無符號數(shù)。指令中有單操作數(shù)指令,也有雙操作數(shù)指令。,4.2.2,,算術運算指令,4.2.2,,算術運算指令,,●1.加法指令,(1)加法指令ADD,●指令格式:ADDDST,SRC;執(zhí)行操作:(DST)←(SRC)+(DST),●指令格式:ADCDST,SRC;執(zhí)行操作:(DST)←(SRC)+(DST)+CF,運算結果影響的標志位:CF、DF、PF、SF、ZF和AFADC指令主要與ADD配合,實現(xiàn)多精度加法運算,注意:ADD和ADC影響標志位:,,1結果為負0否則,SF=,,1結果為00否則,ZF=,,1和的最高有效位有向高位的進位0否則,CF=,1同號相同,結果相異0否則,OF=,,,CF位表示無符號數(shù)相加的溢出。OF位表示帶符號數(shù)相加的溢出。,4.2.2,,算術運算指令,,●1.加法指令,ADD,ADC,例:n=8bit帶符號數(shù)(-128~127),無符號數(shù)(0~255),帶符號數(shù)和無符號數(shù)都不溢出,帶符號數(shù)溢出,無符號數(shù)溢出,帶符號數(shù)和無符號數(shù)都溢出,[例]雙精度數(shù)加法計算,已知:(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算術運算指令,(3)加1指令INC,●指令格式:INCOPR執(zhí)行操作:(OPR)←(OPR)+1,【例】INCALINCBYTEPTR[BX]INCWORDPTR[BX],INC,4.2.2算術運算指令,SUB,SBB,DEC,4.2.2算術運算指令,,●2.減法指令,CMP,4.2.2算術運算指令,[例]x、y、z均為雙精度數(shù),分別存放在地址為X,X+2;Y,Y+2;Z,Z+2的存儲單元中,用指令序列實現(xiàn):w?x+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;結果存入W,W+2單元,,●3.,,(1)無符號數(shù)乘法指令MUL,乘法指令,●指令格式:MULSRC指令操作:(AX)←(AL)*(SRC);字節(jié)操作數(shù)(DX,AX)←(AX)*(SRC);字操作數(shù),4.2.2算術運算指令,乘法指令對CF/OF的影響:,00乘積的高一半為零11否則,MUL指令,,CF,OF=,,00乘積的高一半是低一半的符號擴展11否則,,●3.,乘法指令,CF,OF=,IMUL指令,4.2.2算術運算指令,除法指令,,●4.,●指令IDIV格式與操作同DIV指令。,4.2.2算術運算指令,除法指令,,●4.,,除法錯中斷:當被除數(shù)遠大于除數(shù)時,所得的商有可能超出它所能表達的范圍。如果存放商的寄存器AL/AX不能表達,便產生溢出;8086CPU中就產生編號為0的內部中斷——除法錯中斷。發(fā)生除法溢出的情況:對DIV指令,除數(shù)為0,或在字節(jié)除時商超過8位,或者在字除時商超過16位。對IDIV指令,除數(shù)為0,或在字節(jié)除時商不在-128~127范圍內,或者在字除時商不在-32768~32767范圍內。,4.2.2算術運算指令,5.符號擴展指令,,●,●指令功能:AL?AX●指令格式:CBW若(AL)的最高有效位為0,則(AH)=00H若(AL)的最高有效位為1,則(AH)=FFH,●指令功能:AX?(DX,AX)●指令格式:CWD若(AX)的最高有效位為0,則(DX)=0000H若(AX)的最高有效位為1,則(DX)=FFFFH,4.2.2算術運算指令,5.符號擴展指令,,●,[例](AX)=0BA45HCBW;(AX)=0045HCWD;(DX)=0FFFFH;(AX)=0BA45H,符號擴展;指用一個操作數(shù)的符號位(即最高位)形成另一個操作數(shù)。后一個操作數(shù)的各位是全0(正數(shù))或全1(負數(shù))。符號擴展不改變數(shù)據(jù)大小,即將原操作數(shù)的符號位復制到擴展后高半部分的各個位。,數(shù)據(jù)64H(表示+100),其最高位D7為0,符號擴展后:0064H(仍表示數(shù)據(jù)100)數(shù)據(jù)ff00H(表示-256),其最高位D15為1,符號擴展后:ffffff00H(仍表示有符號數(shù)-256),4.2.2算術運算指令,[例]xyzv均為16位帶符號數(shù),計算(v–(x*y+z–540))/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.邏輯運算指令,●指令功能:將OPR內容按位取反并送回●指令格式:NOTOPR●指令操作:(OPR)←┓(OPR),●指令功能:兩個操作數(shù)按位邏輯與運算,結果送目的操作數(shù)●指令格式:ANDDST,SRC●指令操作:(DST)←(DST)∧(SRC)●運算法則:(全1為1,有0出0)1∧1=1,1∧0=0,0∧1=0,0∧0=0?!裨撝噶羁梢郧宄康牟僮鲾?shù)中與源操作數(shù)置0的對應位,,4.2.3邏輯操作類指令,,●1.邏輯運算指令,,(3),●指令功能:兩個操作數(shù)按位邏輯或運算,結果送目的操作數(shù)●指令格式:ORDST,SRC●指令操作:(DST)←(DST)∨(SRC)●運算法則:(全0為0,有1出1)1∨1=1,1∨0=1,0∨1=1,0∨0=0●該指令可以使操作數(shù)中某些位置1,而其他位保持不變,邏輯或指令OR,●指令功能:兩個操作數(shù)按位異或運算,結果送目的操作數(shù)●指令格式:XORDST,SRC●指令操作:(DST)←(DST)⊕(SRC)●運算法則:1⊕1=0,1⊕0=1,0⊕1=1,0⊕0=0●XOR指令可以將指定位求反,,4.2.3邏輯操作類指令,,●1.邏輯運算指令,,(5)測試指令TEST,●指令功能:與AND指令的唯一區(qū)別是結果不回送目的地址●指令格式:TESTOPR1,OPR2●指令操作:(OPR1)∧(OPR2)●可在不改變源操作數(shù)的情況下,測試某一位或幾位的值,,4.2.3邏輯操作類指令,邏輯運算指令,4.2.3邏輯操作類指令,例:屏蔽AL的第0、1兩位ANDAL,0FCH,********OR00100000**1*****,,******01XOR00000011******10,,,,********AND11111100******00,,********AND000000010000000*,,例:置AL的第5位為1ORAL,20H,例:使AL的第0、1位變反XORAL,3,例:測試某些位是0是1TESTAL,1JZEVEN,4.2.3邏輯操作類指令,邏輯運算指令用途,●AND指令:用于把某位清0(與0相與,也可稱為屏蔽某位);某位保持不變(與1相與)的場合?!馩R指令:用于把某位置1(與1相或)、某位保持不變(與0相或)的場合。●NOT指令:可用于把操作數(shù)的每一位均變反的場合。●XOR指令:用于把某位變反(與1相異或)、某位保持不變(與0相異或)的場合。●TEST指令:可用于只測試其值而不改變操作數(shù)的場合。,,[例1]設從鍵盤接收的一個十進制數(shù)的ASCII碼在AL中,要求把它轉換成非壓縮BCD碼的形式(數(shù)字0-9)。,ANDAL,0FH;清0高4位,低4位不變,[例2]把AL中的非壓縮BCD碼轉換成十進制數(shù)的ASCII碼形式。,ORAL,30H;AL中的高4位變成0011B,低4位不變,4.2.3邏輯操作類指令,,[例3]按位加運算。MOVAL,45H;(AL)=45HXORAL,31H;(AL)=74H,01000101(45H),(XOR)00110001(31H),01110100(74H),,4.2.3邏輯操作類指令,,[例4]設某并行打印機的狀態(tài)端口是379H,其D7位是忙閑位,若D7=0表示忙,為1表示閑,測試該打印機當前狀態(tài),若為忙繼續(xù)測試,否則順序執(zhí)行下一條指令。,MOVDX,379HWT:INAL,DXTESTAL,80HJZWT,4.2.3邏輯操作類指令,,●2.移位指令,4.3.3邏輯操作類指令,帶進位循環(huán)左移,循環(huán)右移,循環(huán)左移,CF中總是最后移進的位,當CNT=1時,移位使符號位改變則置OF=1,否則清0,不影響ZF、SF、PF,,,,,[例1](AX)=0012H,(BX)=0034H,把它們裝配成(AX)=1234H,[例2](BX)=84F0H(1)(BX)為無符號數(shù),求(BX)/2,MOVCL,8ROLAX,CLADDAX,BX,(2)(BX)為帶符號數(shù),求(BX)2,(3)(BX)為帶符號數(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.無條件轉移指令JMP,●根據(jù)轉移的距離,JMP指令可分為下列兩類:段內轉移:在同一代碼段內進行,又稱近(Near)轉移,只要修改IP的值即可實現(xiàn)。段間轉移:可在不同代碼段之間進行,又稱遠(Far)轉移,需要同時修改CS和IP的值。,,●根據(jù)目標地址的指定方式,JMP指令又可分為直接轉移和間接轉移。直接轉移:是指轉移的目標地址直接出現(xiàn)在指令中,在程序執(zhí)行前就已確定。間接轉移:指轉移的目標地址是寄存器或內存操作數(shù)的值,只有執(zhí)行到該條指令時才能確定。,4.2.4,,程序控制類指令,●1.無條件轉移指令JMP,,●指令格式:JMP地址標號●指令功能:無條件轉移到DST所指向的地址,●段內直接短跳轉格式:JMPSHORTOPR操作:(IP)←(IP)+8位位移量(符號擴展到16位)說明:其中8位位移量是由目標地址OPR確定的。注意:轉移格式只允許在-128到+127字節(jié)的范圍內轉移。,●段內直接近轉移格式:JMPNEARPTROPR操作:(IP)←(IP)+16位位移量說明:它和段內直接短跳轉一樣,也采用相對尋址方式。注意:這種方式的位移量為16位,故它可轉移到段內的任一個位置。,JMPlabel;段內轉移、相對尋址;IP←IP+位移量JMPr16/m16;段內轉移、間接尋址;IP←r16/m16JMPfarptrlabel;段間轉移、直接尋址;IP←偏移地址,CS←段地址JMPfarptrmem;段間轉移,間接尋址;IP←[mem],CS←[mem+2],演示,演示,●1.無條件轉移指令JMP,,演示,演示,演示,4.2.4程序控制類指令,,4.2.4程序控制類指令,●2.條件轉移指令,,條件轉移指令的通用匯編格式:JCCLABEL●功能:如果條件為真,則轉向標號處,否則順序執(zhí)行下一條指令?!裾f明:其中cc為條件,LABEL是要轉向的標號。在8086~80286中,該地址應在與當前IP值的-128~+127范圍之內,即只能使用與轉移地址有關的尋址方式的段內短轉移格式,其位移量占用一個字節(jié)。,(2)有符號數(shù)的條件轉移指令,(3)無符號數(shù)的條件轉移指令,[例1]比較無符號數(shù)大小,將較大的數(shù)存放AX寄存器。CMPAX,BX;(AX)-(BX)JNBNEXT;若AX>=BX,轉移到NEXTXCHGAX,BX;若AX=BX,轉移到NEXTXCHGAX,BX;若AX- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
- 計算機 組成 原理 指令系統(tǒng)
裝配圖網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
相關資源
更多
正為您匹配相似的精品文檔
相關搜索
鏈接地址:http://www.820124.com/p-3593031.html