資源描述:
《《常用指令》ppt課件》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、2.3常用指令數(shù)據(jù)傳送類指令加減運(yùn)算指令位操作指令指令應(yīng)用舉例12.3.1數(shù)據(jù)傳送類指令可實(shí)現(xiàn)存儲(chǔ)器寄存器I/O四種:數(shù)據(jù)傳送指令數(shù)據(jù)交換指令地址傳送指令查表轉(zhuǎn)換指令21.數(shù)據(jù)傳送指令(1)格式:MOV目的,源;目的←源(數(shù)據(jù)字節(jié)/字)目的:寄存器、存儲(chǔ)器源:寄存器、存儲(chǔ)器、立即數(shù)兩操作數(shù)不能同時(shí)在存儲(chǔ)器中例:MOVCL,DLMOVCL,[BX+5]MOVAL,‘A’;AL=?源?MOVAX,OFFSETW2;AX=?源?形式:9種,見P473非法指令:MOVAX,BL;類型不一致MOVCS,AX;CS不能作目的MOV05H,AX;立即
2、數(shù)不能作目的MOV[DI],[BX];不能都是存儲(chǔ)器MOV[1000H],[2000H];不能都是存儲(chǔ)器MOVDS,300H;立即數(shù)不能送段寄存器MOVDS,ES;段寄存器間不能傳送MOVCS,AX;CS不能做目的但可做源MOVAX,CS;√MOV[BX],1;類型都不明確4幾個(gè)不能傳送的解決辦法:用AX作橋梁存儲(chǔ)器←存儲(chǔ)器:MOVAX,MEM1MOVMEM2,AX段寄存器←段寄存器:MOVAX,DSMOVES,AX段寄存器←立即數(shù):MOVAX,DATAMOVDS,AX5格式:XCHG目的,源;目的:通用寄存器、存儲(chǔ)器源:通用寄存器、存
3、儲(chǔ)器要求:兩操作數(shù)至少有一個(gè)在通用寄存器中;形式:3種舉例:XCHGAX,BX;字交換XCHG[2000],CL;字節(jié)交換XCHGCS,AX;對(duì)?XCHG[2000H],[3000H];對(duì)?(2)數(shù)據(jù)交換指令6(4)查表轉(zhuǎn)換指令格式:XLAT;AL←[BX+AL]隱含操作數(shù),查表?yè)Q碼。表首地址(偏移地址)→BX,(16位)位移量→AL,(8位)再執(zhí)行XLAT。例:內(nèi)存數(shù)據(jù)段有一ASCII碼表,設(shè)首地址的偏移地址為2000H,如查表中第12個(gè)代碼的ASCII碼。設(shè)DS=4000H。見下頁(yè)圖。7303132...394142...4546.
4、..42000H+042000H+B‘0’‘1’‘2’‘9’‘A’‘B’‘E’‘F’十六進(jìn)制數(shù)ASCII碼表存儲(chǔ)器8則可用如下幾條指令實(shí)現(xiàn):MOVBX,2000H;BX←表首地址偏地MOVAL,0BH;AL←序號(hào)XLAT;查表轉(zhuǎn)換執(zhí)行后得到:AL=42H=’B’,換碼、轉(zhuǎn)換#轉(zhuǎn)換表長(zhǎng)度最大為256個(gè)表項(xiàng)(字節(jié))。92.3.2加減運(yùn)算指令1.加法指令2.減法指令3.比較指令操作數(shù):P50圖2-410算術(shù)運(yùn)算(+-×÷):①段寄存器不可進(jìn)行;②二進(jìn)制數(shù)、非壓縮BCD數(shù)全可進(jìn)行;③壓縮BCD數(shù)只可+,-;④字/字節(jié),同為符號(hào)數(shù)(或無(wú)符號(hào)數(shù));
5、⑤數(shù)據(jù)范圍:BCD0~990~9999無(wú)符號(hào)0~2550~65535有符號(hào)﹣128~+127﹣32768~+3276711(1)加指令A(yù)DD格式:ADD目的,源操作:目的←(目的)+(源);目的變,源不變形式:5種,P51如:ADDAL,30H;30H+(AL)→ALADDAX,[BX+20H];DS:[BX+20H]+(AL)→ALDS:[BX+21H]+(AH)→AHADDCS,SI;?ADDSI,CS;?ADD50H,AL;?#影響F狀態(tài)標(biāo)志1.加法類指令12(2)帶進(jìn)位的加指令A(yù)DC(方便多字節(jié)加法)格式:ADC目的,源操作:目
6、的←(目的)+(源)+(CF);目的變,源不變,CF為原值形式:5種,P51ADCAL,68H;AL←(AL)+68H+(CF)ADCAX,CX;AX←(AX)+(CX)+(CF)#影響F狀態(tài)標(biāo)志13格式:INCdest;操作數(shù)為通用寄存器、存儲(chǔ)器功能:對(duì)指定的操作數(shù)加1例:INCALINCSIINCBYTEPTR[BX+4]INCDS;?INC[SI];?注:本指令不影響CF標(biāo)志(影響OF,ZF,PF,SF,AF)(3)增量指令I(lǐng)NC(加1,修改地址指針、計(jì)數(shù))(單操作數(shù)指令)14(1)減指令:SUB目的,源操作:目的←(目的)-(源
7、)(2)有借位的減指令:SBB目的,源操作:目的←(目的)-(源)-(CF)(3)減量指令:DECdest操作:dest←(dest)-1#對(duì)標(biāo)志位影響同加法,CF為借位2.減法類指令(類比加法)15格式:CMPdest,src操作:(dest)-(src)特點(diǎn):相減,結(jié)果不回送,影響標(biāo)志位,操作數(shù)不變,后接條件轉(zhuǎn)移指令。例子:CMPAL,0AHCMPCX,SICMP[DI],[BX+03];?3.比較指令CMP16根據(jù)標(biāo)志位判比較結(jié)果1)ZF=?ZF=1,兩數(shù)相等;ZF=0,兩數(shù)不等2)若兩數(shù)不等,則:①比較兩無(wú)符號(hào)數(shù)若CF=0,則目
8、的>源;若CF=1,則目的<源。②比較兩有符號(hào)數(shù)若OF⊕SF=0,則目的>源;若OF⊕SF=1,則目的<源。172.3.3位操作指令:邏輯運(yùn)算和移位1.邏輯運(yùn)算指令運(yùn)算規(guī)則:按位操作,無(wú)進(jìn)/借位,字/字節(jié)數(shù)