資源描述:
《微型計算機技術(shù)與應(yīng)用》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、3.2.3邏輯運算和移位指令1.邏輯運算指令1)AND(Logicaland)邏輯“與”指令2)OR(Lgicalinclusiveor)邏輯“或”指令3)XOR(Logicalexclusiveor)邏輯“異或”指令4)TEST(Testornon-destructivelogicaland)測試指令5)NOT(Logicalnot)邏輯“非”指令特點:對其操作數(shù)按位執(zhí)行邏輯操作,操作數(shù)可以是雙字、字或字節(jié)。影響條件碼:(NOT指令除外)CF=0F=0,A未定義,SFZFPF(運算結(jié)果)???源操作數(shù)可以為立即數(shù)、寄存器、存儲器目的操作數(shù)可以為寄存器、存儲器,不能為立即數(shù)源操作數(shù)不是立
2、即數(shù)時,兩操作數(shù)必有一個寄存器第3章Pentium的指令系統(tǒng)2021/10/61ANDdest,src;(dest)?(dest∧src)操作:進行“與”運算,兩位中有一位為0(或二位都為0),則結(jié)果為0,否則為1。寄存器、存儲器立即數(shù)、寄存器、存儲器1)AND邏輯“與”指令(Logicaland)“與”指令的用途:(1)清CF,OF,自己“與”自己.操作數(shù)不變,CF=0,OF=0例:ANDAL;結(jié)果:操作數(shù)不變,CF=0,OF=0。(2)使操作數(shù)中若干位保持不變,若干位與“1”相與;而若干位置為“0“的場合,若干位與“0”相與。例:若(AL)=43HANDAL,0FH;(AL)=03H
3、,(AL)0~3不變;;(AL)4~7=00H,屏蔽高4位。第3章Pentium的指令系統(tǒng)2021/10/62“與”指令應(yīng)用舉例:例1:將英文小寫字母ASCII轉(zhuǎn)換成大寫。小寫英文字母ASCII為:‘a(chǎn)’~’z’?61H~7AH大寫英文字母ASCII為:‘A’~’Z’?41H~5AH程序:MOVAL,’z’ANDAL,0DFH;(AL)=5AH11011111DFH011000010100000161H41H01111010010110107AH5AH第3章Pentium的指令系統(tǒng)2021/10/63ORdset,src;(dset)←(dset)(src)操作:進行按位“或”運算兩位操
4、作數(shù)中任一位為1(或都為1),則該位(結(jié)果)=1,否則為0?!募拇嫫鳌⒋鎯ζ髁⒓磾?shù)、寄存器、存儲器2)OR邏輯“或”指令(Lgicalinclusiveor)或指令應(yīng)用用途:(1)清CF,OF,自己與自己“或”,操作數(shù)不變,CF=0,OF=0例:ORAL;(AL)不變,CF=0(2)使某操作數(shù)若干位保持不變,若干位與“0”或;若干位置1,與“1”或。(3)將兩個操作數(shù)信息組合。若(AL)=03H用OR指令組合使(AL)=33H=’3’。ORAL,30H;(AL)=33H第3章Pentium的指令系統(tǒng)2021/10/64XORdset,src;(dset)?(dset)?(src)操作:對
5、指令的兩個操作數(shù)進行按位“異或”運算。二位不相同時為1,相同時為0。寄存器、存儲器立即數(shù)、寄存器、存儲器3)XOR邏輯“異或”指令(Logicalexclusiveor)用途:對某些特定位求反,某些特定位與“1”?其余位保持不變,保持不變與“0”?。應(yīng)用舉例:例1:將(AL)中的第1、3、5、7位求反0、2、4、6位保持不變。MOVAL,0FHXORAL,0AAH第3章Pentium的指令系統(tǒng)2021/10/65例:比較三條(AX)清“0”指令:XORAX,AX;清AX,清CF。SUBAX,AX;清AX,清CF。MOVAX,0;清AX,不影響標志位。XOR清“0”指令在多字節(jié)累加程序中十
6、分有用。第3章Pentium的指令系統(tǒng)2021/10/66TESTdest,src;(dest)∧(src)操作:二個操作數(shù)相與,結(jié)果不存,只置條件碼。寄存器、存儲器立即數(shù)、寄存器、存儲器4)TEST測試指令(Testornon_destructivelogicaland)用途:常常用來檢測一些條件是否滿足,但又不希望改變原有的操作數(shù)的情況下,常在此指令后邊加一條條件轉(zhuǎn)移指令。例:判斷A單元中數(shù)據(jù)的奇偶性,設(shè):(A)=0AEH程序:MOVAL,A;(AL)=0AEHTESTAL,01HJZEVEN;結(jié)果=0為偶數(shù)轉(zhuǎn)EVEN…奇數(shù)處理…EVEN:偶數(shù)處理檢測(AL)的最低位是否為0,若為0
7、轉(zhuǎn)EVEN第3章Pentium的指令系統(tǒng)2021/10/67執(zhí)行操作:對標志位無影響。字節(jié)求反:(dest)?0FFH-(dest)字求反:(dest)?0FFFFH-(dest)5)NOT邏輯“非”指令(Logicalnot)NOTdest;操作數(shù)只一個,對操作數(shù)按位求反。邏輯指令應(yīng)用小結(jié):(1)AND指令用來對指令的指定位清“0”。(2)OR指令常用來對某些位置1。(3)XOR指令用在程序開頭,使某個寄存器清“0”。(4)NOT