版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、操作碼 目標(biāo)操作數(shù),源操作數(shù)執(zhí)行何種操作參加操作的數(shù)據(jù)或數(shù)據(jù)存放的地址3-1 概述一、指令的格式第三章 8088/8086指令系統(tǒng)例:MOV AL ,20H寄存器存儲單元立即數(shù)n寄存器存儲單元12000H;BX;BX+5;BX+SI; BX+SI+4例:MOV AL ,2000H約定段CS:ES:SS:DS:IPBX/SI/DISP/BPDI;AL (DS*16+2000H)第三章 8088/8086指令系統(tǒng) 存儲器操作數(shù):2二、超越段MOV AL, BX+5 ;有效地址注:只有BX、SI、DI、BP能間接表示地址例:MOV AL,ES:BX; AL ( ES*16+BX)在指令中指定段寄存器
2、超越段第三章 8088/8086指令系統(tǒng)3-尋找操作數(shù)地址的方法稱為尋址方式一、立即尋址方式 MOV AX,2000H二、寄存器尋址方式 MOV AX, BX三、存儲器尋址方式1、直接尋址 MOV BX, 2000H2、寄存器間接尋址 MOV AX,BX3、寄存器相對尋址 MOV AX,BX+05H4、基址變址尋址 MOV AX,BX+SI5、相對基址變址尋址 MOV AX,BX+SI+05H3-2 尋址方式4一、立即尋址例:MOV AX ,2000H操作碼0020代碼段內(nèi)存(H)立即數(shù)立即數(shù)3-2 尋址方式例:MOV EAX ,12345678H5二 、寄存器尋址-指令中給出操作數(shù)所在的寄存
3、器。例:MOV AX,BX;結(jié)果:AX=3000H CPU3000HBXAX3-2 尋址方式3000H例:MOV EAX,EBX;6三、存儲器尋址方式(1)直接尋址例:MOV AX,2000H操作碼0020偏移地址3000:2000H3000:2001H3412偏移地址代碼段數(shù)據(jù)段設(shè)DS=3000H, DS*16+2000H=32000HAX=1234H內(nèi)存(H)3-2 尋址方式例:MOV EAX,2000H7(2)寄存器間接尋址例:MOV AX,BX;間接地址設(shè)DS=3000H,BX=2000H,DS*16+BX=32000HAX=操作碼內(nèi)存(H)3412代碼段數(shù)據(jù)段1234H3-2 尋址方
4、式3000:2000H3000:2001HBX SI DIBPDSSSEAX、EBX ECX、EDXESI、EDIEBP、ESPDSSS8(3)寄存器相對尋址例:MOV AX,BX+10H;操作碼10內(nèi)存(H)位移量物理地址32010H32011HBC9A代碼段數(shù)據(jù)段設(shè)DS=3000H,BX=2000H,DS*16+BX+10H=32010H結(jié)果:AX=9ABCH有效地址3-2 尋址方式EAX、EBX ECX、EDXESI、EDIEBPDSSS9(4)基址變址尋址設(shè)DS=3000HBX=1000HSI=1000HDS*16+BX+SI=32000H結(jié)果:AX=1234HBX+SIBX+DIBP
5、+SIBP+DI例:MOV AX,BX+SI;操作碼內(nèi)存(H)物理地址32000H32001H3412代碼段數(shù)據(jù)段有效地址3-2 尋址方式任何一個通用寄存器均可用作基址、變址(除ESP)10(5)基址變址相對尋址例:MOV AX,BX+SI+0200H;DS=3000HBX=1000HSI=0500HDS*16+BX+SI+0500H=31700H結(jié)果:AX=1234H操作碼0002內(nèi)存(H)位移量物理地址31700H31701H3412代碼段數(shù)據(jù)段有效地址3-2 尋址方式例:MOV EAX, EBP+0FFFF0000HEDI11尋址方式小結(jié)立即尋址直接尋址寄存器尋址寄存器 間接尋址寄存器
6、相對尋址基址變址AL (DS*16+2000H)相對基址 變址尋址(DS*16+BX) AL AL ( DS*16+BX+位移量)AL ( DS*16+BX+SI)AL ( DS*16+BX+SI+位移量)操作AX2000HBX AXMOV AX,2000HMOV AL,2000HMOV AX , BXMOV BX , ALMOV AL,BX+05HMOV AL,BX+SIMOV AL,BX+SI+05H3-2 尋址方式12舉例1、分別指出源和目的操作數(shù)的尋址方式(1) MOV CL ,0FFH(2) MOV 5BX ,BL(3) MOV BX+DI ,$(4) MOV VALBP+DI ,D
7、X(5) MOV DS ,AX3-2 尋址方式133-3 指令系統(tǒng)一、數(shù)據(jù)傳送指令:二、算術(shù)運算指令:三、邏輯運算和移位指令指令:四、串操作指令:五、控制轉(zhuǎn)移指令:六、處理器控制指令:14一、數(shù)據(jù)傳送指令 1、通用傳送指令注意:MOV 不影響標(biāo)志位MOV BX,SIMOV ES,DSMOV DS,2000H(1)傳送指令:例 MOV AL,A;AL 41H MOV AX, 1;AX 0001H MOV EAX, 1;EAX 00000001H3-3 指令系統(tǒng)15舉例2、分析每條指令執(zhí)行后AX的內(nèi)容(1) MOV AX ,200H(2) MOV AX ,3BX (3) MOV AL , 2BX+
8、SI已知:DS=1000H,BX=0200H,SI=0002H及內(nèi)存數(shù)據(jù)10200H10201H10202H10203H10204H 10205HM10H2AH3CH46H59H6BH:DS*16+200H=10200H;AX2A10H:DS*16+BX+3=10203H;AX5946H:DS*16+BX+SI+2=10204H;AL59H3-3 指令系統(tǒng)16注意: XCHG DS,AX:XCHG BX,1000H格式:XCHG 目的操作數(shù),源操作數(shù)例 XCHG AX,BX+10H3-3 指令系統(tǒng) 2、交換類指令 (1)交換指令17格式:XLAT ; AL(BX+AL) 或 XLAT OPR;
9、OPR表示轉(zhuǎn)換表的首地址;注意:換碼表的長度不能超過256個字節(jié);執(zhí)行后 AL=9014916TABLEBXBX+AL MOV AL,3 MOV BX,OFFSET TABLE XLATAL93-3 指令系統(tǒng) (2)查表指令183、地址傳送類指令(1)取偏移地址LEA BX,TABLE ; BX TABLE的偏移地址同理 MOV BX,OFFSET TABLE功能:16位的寄存器作為地址指針;3-3 指令系統(tǒng)014916TABLEBX19(2)指針?biāo)图拇嫫骱虳S指令;SI(DS:0100H);DS (DS:0102)DS=1000H10100H10101H10102H10103H10H20H3
10、0H40H2010H4030HSIDS3-3 指令系統(tǒng)例 LDS SI,0100H(3)例 LES DI,0100H20堆棧的應(yīng)用子程序2nn2RET棧頂棧頂棧底斷點1斷點2內(nèi)存堆棧區(qū)棧頂棧頂CALL nn1主程序段CALL nn2子程序1nn1RET斷點1斷點2堆棧:暫時保存的數(shù)據(jù)(以字為單位)214、堆棧操作指令A(yù)X1234SP棧頂棧底3000HSP2FFEH2FFFH3412堆棧指針功能:SP SP2(1)壓入指令 PUSH AX; (SP-1)(SP-2) AX SP=SP-23-3 指令系統(tǒng)22格式:POP BX;BX (SP)(SP+1), SP=SP+2執(zhí)行 POP BX1234
11、H(2)彈出指令SP棧頂棧底3000HSP2FFEH2FFFH34123-3 指令系統(tǒng)PUSH與POP指令配合使用23舉例3 分析堆棧及堆棧指針SP的變化過程PUSH AXPUSH BXPOP AXPOP BX已知SS=1050HSP=0100HAX=4860HBX=1287HSS 1050H:0000H00FCH00FDH00FEH00FFHMSP 0100H 1287HAX1287HBX棧底48H60HSP12H87H4860H4860HSPSPSP可用棧區(qū)3-3 指令系統(tǒng)24(3)標(biāo)志寄存器壓棧/出棧指令格式 PUSHF/PUSHFD ;字/雙字標(biāo)志寄存器入棧POPF/POPFD ;從堆
12、棧中彈出字或雙字存入寄存器3-3 指令系統(tǒng)25(3)標(biāo)志寄存器傳送讀取標(biāo)志指令格式 LAHF;AH(標(biāo)志寄存器的低位字節(jié))寫入標(biāo)志指令格式:SAHF; (FLAG的低位字節(jié)) AH OF DF IF TF SF ZF AF PF CF標(biāo)志寄存器 AH3-3 指令系統(tǒng)(3)標(biāo)志寄存器入棧:PUSHF(4)標(biāo)志寄存器出棧:POPF; 265、輸入輸出指令這組指令只限于累加器AX AL與外部設(shè)備的端口傳送信息。3-3 指令系統(tǒng)1)直接尋址的輸入輸出指令 IN輸入指令格式:IN AL/AX/EAX,n ;字節(jié)/字/雙字輸入, n為外設(shè)8位的端口地址例:IN AL, 0FH IN AX, 0FH IN
13、EAX, 0FH273-3 指令系統(tǒng)1)直接尋址的輸入輸出指令 OUT輸出指令格式:OUT n, AL /AX/EAX ;字節(jié)/字/雙字輸出, n為外設(shè)8位的端口地址例:OUT 0FH,AL OUT 0FH,AX OUT 0FH, EAX283-3 指令系統(tǒng)2)間接尋址的輸入輸出指令 IN輸入指令格式:IN AL /AX/EAX ,DX ;字節(jié)/字/雙字輸入, DX為外設(shè)16位的端口地址例:MOV DX, 1234H IN AL, DX; IN AX, DX; IN EAX, DX;293-3 指令系統(tǒng)2)間接尋址的輸入輸出指令 OUT輸出指令格式:OUT DX, AL/AX/EAX ;字節(jié)/
14、字/雙字輸出, DX為外設(shè)16位的端口地址例:MOV DX, 1234H OUT DX,AL OUT DX,AX OUT DX, EAX30舉例4、指出指令中的錯誤(1) MOV 8650H ,AX(2) MOV BX ,1200H(3) MOV BX+SI+3 ,IP(4) MOV AL , ES: BP (5) MOV AX ,OFFSET 0A20H (6) XCHG AL , 50H (7) OUT 1234H, AL3-3 指令系統(tǒng)31二、算術(shù)運算指令數(shù)據(jù)類型:無符號二進制;有符號二進制;無符號壓縮十進制;無符號非壓縮十進制3-3 指令系統(tǒng)MOV AL , 23;MOV AL , 2
15、3HMOV AL , 2AL 0001 0111AL 0010 0011AL 0011 001032一般的算術(shù)運算指令都會影響標(biāo)志位,當(dāng)無符號數(shù)運算產(chǎn)生溢出時,CF=1;當(dāng)有符號數(shù)運算產(chǎn)生溢出時,OF=1;如果運算結(jié)果為零,ZF=1如果運算結(jié)果為負,SF=1如果運算結(jié)果的低8位中有偶數(shù)個1,PF=13-3 指令系統(tǒng)33算法運算指令:3-3 指令系統(tǒng)ADD ; 加法ADC ; 進位加法SUB ;減法SBB ;帶借位減法INC ;加1DEC ; 減1CMP ;比較指令MUL ;乘法IMUL ;有符號乘法DIV ;除法IDIV ;有符號除法341、加法(ADD、 ADC ) 3-3 指令系統(tǒng)ADD
16、AX,BX;AX AX+BXADC AX,BX; AX+BX+CF 用于多字節(jié)運算2、減法(SUB 、SBB) 注意: ADD BX ,SI ; ADD 30H , 40HSUB AX,BX;AX AX-BXSBB AX,BX; AX-BX-CF用于多字節(jié)運算多字節(jié)運算?353-3 指令系統(tǒng)例:計算 1234F000H+98765000H1 2 3 4 F000H9 8 7 6 5000H+ AAAB 4000H、MOV AX,F(xiàn)000HADD AX,5000HMOV BX,1234HADC BX,9876H;AX 4000H,CF 1;BX AAABH,CF 0多字節(jié)運算:36(3)INC
17、加1指令例:INC BX ;BX BX+1說明 :無符號數(shù)加1;不影響進位標(biāo)志2000H2001HMFFH34H例 INC 2000H; INC BYTE PTR 2000H; INC WORD PTR 2000H;3-3 指令系統(tǒng)FFH+134FFH+1(4)DEC 減1指令37(5)NEG 求補指令功能:連符號位一起逐位取反后末位加1例 MOV AL, 56H ;AL=01010110B=+86 NEG AL ;AL=10101010B=(-86)補 NEG AL ;AL=10101010B =+863-3 指令系統(tǒng)38(6)CMP 比較指令例:CMP AX,BX; AXBX 置標(biāo)志位;
18、PR2兩數(shù)比較相等: 置ZF標(biāo)志AX=BX ZF=1AXBX ZF=03-3 指令系統(tǒng) OF DF IF TF SF ZF AF PF CF例:CMP AL,0 ; 設(shè)置標(biāo)志位 JZ XXX ; 檢測標(biāo)志位 判斷是否轉(zhuǎn)移 39兩無符號數(shù)比較大小兩有符號數(shù)比較大小3-3 指令系統(tǒng)置CF標(biāo)志AXBX CF=0AXBX 相同AX(2041H)(2042H) ALNYMOV AL,2040HCMP AL,2041H;AL大時 CF0否則 CF1;如果 CF=0轉(zhuǎn)GREATGREATAL(2041H)3-3 指令系統(tǒng)MOV AL,2041HJNC GREATGREAT :MOV 2042H,AL413、
19、乘法指令(1)無符號數(shù)乘法指令 MUL例MUL DL;MUL BXMUL BYTE PTRSI說明:MUL 03H 錯存儲單元做操作數(shù),必須加上屬性說明AX AL*DL 字節(jié)乘法 DX AX AX*BX字乘法 AX AL*(DS*16+SI)3-3 指令系統(tǒng)(2)有符號數(shù)乘法指令I(lǐng)MUL42例:AL=FFH,DL=02H,MUL DL;AX AL*DLFFH*02H=255*02=510;AX=01FEHAX IMUL DL;AX AL*DLFFH*02H= -1*02= -2;AX=FFFEHAX 3-3 指令系統(tǒng)434、除法指令(1) 無符號數(shù)除法指令 DIV說明:指令要求被除數(shù)是除數(shù)的雙
20、倍字長DIV 04H;錯誤,除數(shù)不能是立即數(shù)當(dāng)商超出AL或AX范圍,計算機產(chǎn)生0號除法錯中斷3-3 指令系統(tǒng)DIV DL; AX/DL商AL,余數(shù) AHDIV BX; DX,AX/BX商AX,余數(shù) DXDIV BYTE PTR SI ; 操作?(2)IDIV 有符號數(shù)除法指令44說明:1)除法運算標(biāo)志位無意義;例:25H/05H0025H/05H 85H/05HFF85H/05H2)IDIV 余數(shù)的符號與被除數(shù)相同3) 被除數(shù)符號位擴展;-8/5的余數(shù)為負數(shù)3-3 指令系統(tǒng)45(3)CBW字節(jié)轉(zhuǎn)換為字指令格式:CBW;AL中的符號位擴展到AH中。例: MOV AL, 25H CBW;(4)CW
21、D字轉(zhuǎn)換為雙字指令格式:CWD;AX中的符號位擴展到DX中。例: MOV AX, 8025H CWD;3-3 指令系統(tǒng)AH=00HDX=FFFFH46例:85/03H FF85/03H MOV AL, 85H CBW;AH=FFHMOV BL,03HIDIV BL ;FF85H/03H3-3 指令系統(tǒng)475、十進制調(diào)整指令壓縮的BCD碼:例:87的壓縮BCD碼為 10000111非壓縮的BCD碼(ASCII碼):例:87的非壓縮BCD碼為: XXXX1000 XXXX01113-3 指令系統(tǒng)十進制數(shù) BCD碼0000010001200103001140100501016011070111810
22、009100148(1)加法的十進制調(diào)整指令格式:DAA;使用:僅對AL調(diào)整,加法結(jié)果必須存放在AL中。 ADD ADC DAA DAA調(diào)整方法:加6調(diào)整例 計算 28+26MOV AL,28HADD AL,26HDAA ;對AL調(diào)整;AL 28H;AL 28H+26H=4EH;AL 4EH+06H=54H3-3 指令系統(tǒng)49例6:編程計算 1+2+3+4+ -10AL清0AL AL+CL調(diào)整為十進制數(shù)CL CL-1CL=0NYCL10,計數(shù)初值 MOV AL,0MOV CL, 10NEXT:ADD AL,CL DAA ;對AL調(diào)整 DEC CL JNZ NEXT ;CL0 轉(zhuǎn) HLT請分析程
23、序中有無DAA,最后AL結(jié)果是?結(jié)果 AL= 55 H結(jié)束3-3 指令系統(tǒng)50(2)減法的十進制調(diào)整指令格式:DAS使用:僅對AL調(diào)整,減法結(jié)果必須存放在AL中。 SUB SBB DAS DASMOV AL,26HSUB AL,18HDAS例 計算 26-18;AL26H;AL 26H-18H=0EH;AL 0EH-06H=08H3-3 指令系統(tǒng)調(diào)整方法:減6調(diào)整51(3)非壓縮的BCD碼加法調(diào)整 格式:AAA 操作:AL 把AL中的內(nèi)容調(diào)整為非壓縮的BCD碼格式 AH AH+調(diào)整產(chǎn)生的進位調(diào)整方法:如果AL的低4位為大于9,或AF=1則: 1)AL AL+6; 2)AL高4位清0 3)CF
24、AF=1,AH AH+1;否則僅使AL的高4位清0MOV AL,8ADD AL,4AAA;AL 38H;AL 38H+34H=6CH;AL 6CH+6=72H02H AH 01H3-3 指令系統(tǒng)(4)非壓縮的BCD碼的減法調(diào)整 格式:AAS52三、邏輯運算和移位指令 邏輯運算ANDOR XOR NOTTEST與或異或取反測試3-3 指令系統(tǒng)CF=OF=0AF不定SF、PF、ZF531)AND邏輯與指令說明:位操作,某些位置0 (和“0”相“與”)。1、邏輯指令MOV AL,86HAND AL,80H ; AL 86H 80H=80H3-3 指令系統(tǒng)542)OR邏輯或指令說明:某些位置1 :和“
25、1”相“或” 。MOV AL,36HOR AL,80H ;AL 36H 80H =B6H3-3 指令系統(tǒng)553)XOR邏輯或指令說明:使某個操作數(shù)清零,同時清進位CF=0。 例 XOR AX,AX4)NOT邏輯非指令格式:NOT OPR;B/W操作:OPR OPR 逐位取反說明:NOT指令執(zhí)行后不影響標(biāo)志位。3-3 指令系統(tǒng)565)TEST測試指令 TEST AL,80H ; AL 與 80H置標(biāo)志位 ;不改變原操作數(shù)說明:僅用來檢測某一位或某幾位是“0或1”,編程時,用在條件轉(zhuǎn)移指令前產(chǎn)生條件。例:3-3 指令系統(tǒng)TEST AL,80HJNZ NEXT;57例3.10 從3000H開始的內(nèi)存
26、單元中存放有64個有符號數(shù),要求統(tǒng)計其中負數(shù)的個數(shù),并將統(tǒng)計結(jié)果存入NMU單元。3-3 指令系統(tǒng) XOR DX, DX ;DX清0 MOVSI, 3000H MOV CX, 40H ;置循環(huán)次數(shù)AGN: MOV AL, SIINC SITEST AL, 80H JZ NEXT ;結(jié)果為0, AL為正數(shù)INC DX ;否則為負數(shù),個數(shù)加1NEXT:DEC CXJNZ AGNMOV NUM, DX ;存結(jié)果HLT58Logical 邏輯Arithmetic 算術(shù)Rotate 循環(huán)SHift 移位Right 右Left 左算術(shù)/邏輯移位SHL/SALSHR SAR循環(huán)移位ROL ROR RCL RC
27、R邏輯/算術(shù)左移邏輯右移算術(shù)右移 循環(huán)左移循環(huán)右移帶進位循環(huán)左移帶進位循環(huán)右移3-3 指令系統(tǒng)2、算術(shù)/邏輯移位指令59格式: 指令助記符 OPR ,CNT例: SAL AX,1 MOV CL,8 SAL AX,CL指令助記符SHL/SALSHRSAR3-3 指令系統(tǒng)寄存器或存儲器操作數(shù)CNT為移位次數(shù),當(dāng)CNT1 時,用CL表示次數(shù); CF D15 /7 OPR D0 0601)SHL/SAL 邏輯/算術(shù)左移指令0 CF D15 /7 OPR D0 乘2操作,如果符號位改變表示溢出2)SHR邏輯右移指令0 D15 /7 OPR D0 CF 3)SAR算術(shù)右移指令D15/7 OPR D0 CF
28、無符號數(shù)除以2操作。有符號數(shù)除以2操作。3-3 指令系統(tǒng)613、循環(huán)移位指令1)ROL循環(huán)左移指令 CF D15/7 OPR D02)ROR循環(huán)右移指令D15/7 OPR D0 CF3)RCL帶進位循環(huán)左移指令4)RCR帶進位循環(huán)右移指令 CF D15/7 OPR D0D15/7 OPR D0 CF3-3 指令系統(tǒng)62約定:源數(shù)據(jù)串地址:DS:SI目的數(shù)據(jù)串地址:ES:DI傳送次數(shù):CX每傳送一次,自動修改 SI、DI值指令CLD使標(biāo)志DF=0,增址方向傳指令STD使標(biāo)志DF=1,減址方向傳DS:SIES:DI源串目的串四、字符串處理指令3-3 指令系統(tǒng)63指令名稱 字節(jié)操作 字操作串傳送 M
29、OVSB MOVSW串比較 CMPSB CMPSW串掃描 SCASB SCASW串裝入 LODSB LODSW串存儲 STOSB STOSW類型和格式重復(fù)串操作前綴REP 無條件重復(fù)REPE/REPZ 相等/結(jié)果為零重復(fù)REPNE/REPNZ 不相等/結(jié)果非零重復(fù)例、REP MOVSB;重復(fù)傳送至CX=03-3 指令系統(tǒng)641、MOVS串傳送指令 格式1:MOVSB;(DI) (SI) SI SI 1 DI DI1格式2:MOVSW;格式3:REP MOVSB;重復(fù)執(zhí)行 MOVSB CX CX-1循環(huán),至CX=0(DI) (SI) SI SI 2 DI DI 2DS:SIES:DI源串目的串3
30、-3 指令系統(tǒng)652、STOS存入串指令格式1:STOSB;格式2:STOSW;(DI) (AL) DI DI 1 (DI) (AX) DI DI 2 格式3:REP STOSB;常用來對內(nèi)存初始化ES:DI源串目的串AL/AX3-3 指令系統(tǒng)663、LODS從串取指令格式1:LODSB;格式2:LODSW;(AL) (SI) SI SI 1(AX) (SI) SI SI 2DS:SI源串目的串AL/AX3-3 指令系統(tǒng)674、CMPS串比較指令格式1:CMPSB;(SI) -(DI)置標(biāo)志ZF SI SI 1 DI DI1格式2:CMPSW;(SI) - (DI) SI SI 2 DI DI
31、 2格式3:REPE CMPSB ;( CX CX-1循環(huán)至CX=0或ZF=0兩串不相等時停止)常用于口令判斷DS:SIES:DI源串目的串3-3 指令系統(tǒng)685、SCAS串掃描指令格式1:SCASB;格式2:SCASW;(AL) -(DI)置ZF標(biāo)志 DI DI1(AX) - (DI) DI DI 2格式3:REPNE SCASB ;( CX CX-1循環(huán)至CX=0或ZF=1相等時停止尋找字符串中的關(guān)鍵字ES:DI源串目的串AL/AX比較3-3 指令系統(tǒng)696、CLD清除方向標(biāo)志指令格式:CLD操作:使方向標(biāo)志DF=0,串操作指令中地址自動增量。7、STD設(shè)置方向標(biāo)志指令格式:STD操作:使
32、方向標(biāo)志DF=1,執(zhí)行串操作指令地址自動減量變化。DS:SIES:DI源串目的串3-3 指令系統(tǒng)70REP MOVSB;重復(fù)傳送至CX=01)如果CX=0退出REP,否則往下執(zhí)行;2)CX CX-1;3)執(zhí)行REP后面的串操作指令一次;4)重復(fù)1) 3)DS:SIES:DI源串目的串8、REP重復(fù)操作前綴9、REPE/REPZ相等/為零時重復(fù)操作10、REPNE/REPNZ不相等/不為零時重復(fù)操作3-3 指令系統(tǒng)711、分析程序段中每條指令的執(zhí)行結(jié)果XOR AX,AX ;AX OR AL,80H; ALMOV AH,10H; AHMOV BX,AX; BXADD AX,AX; AX 00H80
33、H 10H 1080H 2100H復(fù)習(xí)3-3 指令系統(tǒng)722040H2041H2042H2、編程 對內(nèi)存2040H和2041H單元存放的十進制數(shù)26和29相加結(jié)果存放在2042HMOV AL,2040H;AL26H ADD AL,2041H; AL26H+29H=4FHDAA;MOV 2042H ,AL ;HLT26H+ 29H 4FH+ 6H55H0010 01100010 10010101 0101對AL調(diào)整存放BCD碼3-3 指令系統(tǒng)733、編程將內(nèi)存2040H單元開始存放的20個字節(jié)數(shù)據(jù)傳送到2060H開始的單元(方法1)2040H2041H2042H2060H2061H2062H源串
34、目的串 MOV SI,2040H MOV DI,2060H MOV CX,20NEXT:MOV AL,SI MOV DI,AL INC SI INC DI DEC CX JNZ NEXT HLTSIDI01H02H03H01HSIDI02H3-3 指令系統(tǒng)744、編程將內(nèi)存2040H單元開始存放的20個字節(jié)數(shù)據(jù)傳送到2060H開始的單元(方法2)2040H2041H2042H2060H2061H2062H源串目的串 MOV AX, DATA MOV DS, AX MOV ES, AX MOV SI,2040H MOV DI,2060H MOV CX,20NEXT:MOVSB DEC CX JN
35、Z NEXT HLTSIDI01H02H03H01HSIDI02H3-3 指令系統(tǒng)75五、控制轉(zhuǎn)移指令無條件轉(zhuǎn)移條件轉(zhuǎn)移循環(huán)控制轉(zhuǎn)移過程調(diào)用和返回類別 指令助記符 指令功能段內(nèi)轉(zhuǎn)移(CS不變)段間轉(zhuǎn)移(CS改變)1、無條件轉(zhuǎn)移 JMPJMP SHORT 標(biāo)號 短轉(zhuǎn)移JMP NEAR PTR 標(biāo)號 近轉(zhuǎn)移JMP WORD PTR 地址 間接轉(zhuǎn)移JMP FAR PTR 標(biāo)號 遠轉(zhuǎn)移JMP DWORD PTR 地址 間接轉(zhuǎn)移3-3 指令系統(tǒng)CS:IP76目的地址 IP當(dāng)前地址+位移量位移量=目的地址-當(dāng)前地址段內(nèi)轉(zhuǎn)移 CS不變位移量 :為8位補碼時: JMP SHORT 目的地址;2字節(jié)指令為16位
36、補碼時: JMP NEAR PTR 目的地址;3字節(jié)指令1、無條件轉(zhuǎn)移指令 JMP1)段內(nèi)直接轉(zhuǎn)移例 JMP 標(biāo)號;標(biāo)號為轉(zhuǎn)移地址23字節(jié)3-3 指令系統(tǒng)JMP指令位移量目的地址當(dāng)前地址77目的地址 IP當(dāng)前地址+位移量位移量=目的地址-當(dāng)前地址段內(nèi)轉(zhuǎn)移 CS不變1、無條件轉(zhuǎn)移指令 JMP1)段內(nèi)直接轉(zhuǎn)移例 JMP 標(biāo)號;標(biāo)號為轉(zhuǎn)移地址23字節(jié)3-3 指令系統(tǒng)JMP指令位移量目的地址當(dāng)前地址JMP1200H ;直接轉(zhuǎn)向1200H JMPSHORT LP ;轉(zhuǎn)向LPJMPNEAR PTR BBB;轉(zhuǎn)向BBB78例2: JMP WORD PTRBX ; 目的地址IP (DS*16+BX)2)段內(nèi)間
37、接轉(zhuǎn)移例1:JMP BX ;目的地址IP BXDS:BX偏移地址IP3-3 指令系統(tǒng)79JMP BXJMP WORD PTRBXJMP代碼段數(shù)據(jù)段BX=1200XXHXXHIP指令碼803)段間直接(遠)轉(zhuǎn)移(轉(zhuǎn)移到另一個段中)格式:JMP FAR PTR 標(biāo)號操作:IP 標(biāo)號的偏移地址 CS 標(biāo)號的段地址 目的地址 當(dāng)前地址當(dāng)前指令地址跨段轉(zhuǎn)移操作碼標(biāo)號的偏移地址 標(biāo)號的段地址5字節(jié)指令段間轉(zhuǎn)移CS、IP內(nèi)容均改變3-3 指令系統(tǒng)814)段間間接轉(zhuǎn)移格式:JMP DWORD PTR BX操作:IP (DS*16+BX) CS ( DS*16+BX +2) DS:BX偏移地址段地址IPCSDS
38、:BX+23-3 指令系統(tǒng)822、條件轉(zhuǎn)移指令A(yù)L0?順序執(zhí)行轉(zhuǎn)向標(biāo)號處滿足否說明:1)轉(zhuǎn)移范圍-128+127,不能跨段;2)不影響標(biāo)志位。3)條件轉(zhuǎn)移指令之前要使用設(shè)置標(biāo)志的指令: 例; JG NEXTAL-0;置標(biāo)志位3-3 指令系統(tǒng)CMP AL,083指令助記符 測試條件 指令功能1)直接檢測標(biāo)志JC CF=1 有進位JNC CF=0 無進位JZ/JE ZF=1 結(jié)果為零JNZ/JNE ZF=0 結(jié)果不為零JS SF=1 符號為負JNS SF=0 符號為正JO OF=1 溢出JNO OF=0 無溢出JP/JPE PF=1 偶數(shù)個1JNP/JPO PF=0 奇數(shù)個1可測標(biāo)志位有:CF、Z
39、F、SF、OF、PF3-3 指令系統(tǒng)P142 P13684類別 指令助記符 指令功能無符號數(shù)比較有符號數(shù)比較 Above 高于 Below 低于 Great 大于 Less 小于 JA / JNBE 高于/不低于等于JAE / JNB 高于等于/不低于JB / JNAE 低于/不高于等于JBE / JNA 低于等于/不高于JG / JNLE 大于/不小于等于JGE / JNL 大于等于/不小于JL / JNGE 小于/不大于等于JLE / JNG 小于等于/不大于3-3 指令系統(tǒng)2)間接檢測標(biāo)志85例7:計算Y=1(X 0)-1(X (2041H)(2042H) ALNYGREATAL(2041H)3-3 指令系統(tǒng)873、循環(huán)控制指令*循環(huán)控制指令不影響標(biāo)志位 指令助記符 指令功能LOOP 短標(biāo)號LOOPE/LOOPZLOOPNE/LOOPNZJCXZDEC CXJNZ 短標(biāo)號 CX CX-1CX0轉(zhuǎn)短標(biāo)號CX CX-1相等( ZF=1)且 CX0轉(zhuǎn)CX CX-1不等( ZF=0 )且 CX0轉(zhuǎn)CX=0轉(zhuǎn)3-3 指令系統(tǒng)883、編程將內(nèi)存2040H單元開始存放的20個字節(jié)數(shù)據(jù)傳送到2060H開始的單元(方法
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年通信設(shè)備采購與維護合同2篇
- 電梯安裝工程2025年度技術(shù)咨詢合同6篇
- 二零二五年度論壇活動策劃服務(wù)合同模板6篇
- 二零二五版搬家服務(wù)及家居清潔維護合同3篇
- 二零二五年度廢鋼市場供應(yīng)與環(huán)保處理服務(wù)合同3篇
- 二零二五版房屋買賣及鄰里關(guān)系協(xié)調(diào)服務(wù)合同3篇
- 二零二五年度股東干股合作企業(yè)社會責(zé)任履行合同3篇
- 幼兒園2025年度食品供應(yīng)合同2篇
- 二零二五版租賃房屋改造裝修合同3篇
- 二零二五年酒店股權(quán)分割與資產(chǎn)重組咨詢合同3篇
- 2023社會責(zé)任報告培訓(xùn)講稿
- 2023核電廠常規(guī)島及輔助配套設(shè)施建設(shè)施工技術(shù)規(guī)范 第8部分 保溫及油漆
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 表B. 0 .11工程款支付報審表
- 警務(wù)航空無人機考試題庫及答案
- 空氣自動站儀器運營維護項目操作說明以及簡單故障處理
- 新生兒窒息復(fù)蘇正壓通氣課件
- 法律顧問投標(biāo)書
- 班主任培訓(xùn)簡報4篇(一)
- 成都市數(shù)學(xué)八年級上冊期末試卷含答案
- T-CHSA 020-2023 上頜骨缺損手術(shù)功能修復(fù)重建的專家共識
評論
0/150
提交評論