




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
12023/12/63.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ù)不是立即數(shù)時,兩操作數(shù)必有一個寄存器第3章Pentium的指令系統(tǒng)22023/12/6
ANDdest,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)=43H ANDAL,0FH ;(AL)=03H,(AL)0~3不變;
;(AL)4~7=00H,屏蔽高4位。
第3章Pentium的指令系統(tǒng)32023/12/6“與”指令應(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)42023/12/6
ORdset,src
;(dset)←(dset)(src)
操作:
進行按位“或”運算
兩位操作數(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)52023/12/6
XORdset,src
;(dset)
(dset)
(src)
操作:對指令的兩個操作數(shù)進行按位“異或”運算。
二位不相同時為1,相同時為0。
寄存器、存儲器立即數(shù)、寄存器、存儲器3)XOR邏輯“異或”指令(Logicalexclusiveor)用途:對某些特定位求反,某些特定位與“1”
其余位保持不變,保持不變與“0”
。應(yīng)用舉例:例1:將(AL)中的第1、3、5、7位求反
0、2、4、6位保持不變。
MOVAL,0FH XORAL,0AAH第3章Pentium的指令系統(tǒng)62023/12/6例:比較三條(AX)清“0”指令:
XORAX,AX;清AX,清CF。
SUBAX,AX;清AX,清CF。
MOVAX,0;清AX,不影響標志位。
XOR清“0”指令在多字節(jié)累加程序中十分有用。第3章Pentium的指令系統(tǒng)72023/12/6
TESTdest,src
;(dest)∧(src)
操作:二個操作數(shù)相與,結(jié)果不存,只置條件碼。
寄存器、存儲器立即數(shù)、寄存器、存儲器4)TEST測試指令(Testornon_destructivelogicaland)用途:常常用來檢測一些條件是否滿足,但又不希望改變原有的操作數(shù)的情況下,常在此指令后邊加一條條件轉(zhuǎn)移指令。例:判斷A單元中數(shù)據(jù)的奇偶性,設(shè):(A)=0AEH
程序:MOVAL,A ;(AL)=0AEH
TESTAL,01H JZEVEN
;結(jié)果=0為偶數(shù)轉(zhuǎn)EVEN…
奇數(shù)處理
…
EVEN:偶數(shù)處理
檢測(AL)的最低位是否為0,若為0轉(zhuǎn)EVEN第3章Pentium的指令系統(tǒng)82023/12/6執(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指令對某個數(shù)據(jù)取反,+1成補碼。(5)TEST指令用來檢測指定位為1,還是0。第3章Pentium的指令系統(tǒng)92023/12/6邏輯運算指令102023/12/6
1)非循環(huán)移位(算術(shù)/邏輯移位指令)
SAL,SAR
, SHL,SHR。
2)循環(huán)移位
ROL,
ROR,RCL,RCR。
3)雙精度移位
SHLD,SHRD。將操作數(shù)移動一位或多位,分別具有左移或右移操作將操作數(shù)從一端移出的位返回到另一端形成循環(huán),分成不帶進位和帶進位,分別具有左移或右移操作2.移位指令快速數(shù)據(jù)移位,三個操作數(shù),實現(xiàn)雙左移,雙右移第3章Pentium的指令系統(tǒng)112023/12/6
SHLdest,cnt
;邏輯左移指令,B/W/DW
SALdest,cnt
;算術(shù)左移指令,B/W/DW
0CFdest執(zhí)行操作:相當于無符號數(shù)的×2功能。第3章Pentium的指令系統(tǒng)122023/12/6
cnt:表示移位次數(shù)
cnt≤31,可寫在指令中,也可用CL給出。
cnt>31,用CL存放移位次數(shù),不能是其他寄存器。 如: SALAX,1 MOVCL,4 SALAX,CLSALEAX,CL第3章Pentium的指令系統(tǒng)132023/12/6SHRdest,cnt
;邏輯右移指令,B/WdestCF0執(zhí)行操作:相當于無符號數(shù)的÷2功能。第3章Pentium的指令系統(tǒng)142023/12/6SARdest,cnt
;算術(shù)右移指令,B/Wdest執(zhí)行操作:相當帶符號數(shù)÷2功能,SAR對負數(shù)向下舍入
IDIV指令對負數(shù)向上舍入。第3章Pentium的指令系統(tǒng)152023/12/6用SAR指令與用IDIV指令做除法的區(qū)別:用SAR指令做除法(對負數(shù)向下舍入):
MOVAX,81H ;(AX)=-127 SARAX,1 ;(AX)=-64用IDIV指令做除法(IDIV指令對負數(shù)向上舍入):
MOVAX,81H ;(AX)=-127 MOVCL,2 IDIVCL ;(AL)=-63,(AH)=-11000000111000000第3章Pentium的指令系統(tǒng)162023/12/6ROLdest,cnt
;不含CF循環(huán)左移指令CFdest移動8次后操作數(shù)還原。第3章Pentium的指令系統(tǒng)172023/12/6RORdest,cnt
;不含CF循環(huán)右移指令
右移8次后操作數(shù)還原。CFdest第3章Pentium的指令系統(tǒng)182023/12/6RCLdest,cnt
;含CF循環(huán)左移指令
左移9次后操作數(shù)還原CFdest第3章Pentium的指令系統(tǒng)192023/12/6RCRdest,cnt
;含CF循環(huán)右移指令
右移9次后操作數(shù)還原CFdest第3章Pentium的指令系統(tǒng)202023/12/6循環(huán)移位指令(Rotate)與移位指令(Shift)不同點:循環(huán)移位指令移位后,操作數(shù)中原來各數(shù)位的信息不會丟失,這是移動了位置,必要時可以恢復(fù)。循環(huán)移位指令可以對操作數(shù)進行測試。例:測試(AL)5=?0 MOVCL,3
ROLAL,CL JNCZERO …ZERO: … …10?01000AL212023/12/6
利用帶進位循環(huán)移位指令將兩個寄存器或存儲器單元組合起來一起移位。例:將DX、AX組合起來構(gòu)成32位寄存器向左移一位。如下圖所示:程序:SHLAX,1 RCLDX,132位寄存器向左移一位DXAXCF0222023/12/6思考:
把AL最低位送BL最低位,保持AL不變
AH.AL分別存放著非壓縮BCD碼的兩
溫馨提示
- 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 楚雄中考試卷及答案分析
- 安全管理學(xué)基礎(chǔ)題庫及答案解析
- 安全培訓(xùn)師掛靠課件
- 基金從業(yè)考試復(fù)習(xí)方法及答案解析
- 泰州市2025年度專業(yè)技術(shù)人員繼續(xù)教育公需科目考試題庫(附答案)
- 2025年全國保安員資格考試題庫及參考答案
- 2025年醫(yī)院衛(wèi)生院消毒滅菌與隔離制度
- 2025年項護理核心制度考試題庫(附答案)
- 2025年度村級后備干部考試題庫(含答案)
- 2025年國家開放大學(xué)(電大)《計算機輔助設(shè)計與制作》期末考試備考試題及答案解析
- 武漢天河機場招聘筆試題及答案
- 濕陷性黃土濕陷量計算表
- 在課堂教學(xué)中尋找發(fā)展學(xué)生科學(xué)思維的生長點課件
- 因離婚給孩子申請改姓協(xié)議書
- 大眾蔚攬保養(yǎng)手冊
- 用車登記表(標準模版)
- 中共一大會址
- 01第一章-稻谷的加工匯總課件
- 六年級LOGO小海龜編程
- 駐足思考-瞬間整理思路并有力表達
- 【QC成果】提高預(yù)制梁吊裝一次就位合格率2018
評論
0/150
提交評論