版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2.5.3 邏輯運(yùn)算和移位指令,1、邏輯運(yùn)算指令,(1)邏輯非指令NOT,(2) 邏輯與指令A(yù)ND,(3)邏輯或指令OR,(4)邏輯異或指令XOR,(5)測(cè)試指令TEST,(1)邏輯非指令NOT,格式:NOT 目標(biāo)操作數(shù),功能:將目標(biāo)操作數(shù)各位取反,結(jié)果送回目標(biāo)操作數(shù),目標(biāo)操作數(shù):通用寄存器、存儲(chǔ)器,例如:NOT AX NOT DAT1BX,cx:0f0fh not ch,cx:f00fh,(2)邏輯與指令A(yù)ND,格式:AND 目標(biāo),源,功能:對(duì)兩個(gè)操作數(shù)進(jìn)行按位與操作,結(jié)果送回目標(biāo),用途:對(duì)需要保留的位與1相與,需要置0的位與0相與,例如:將AL中的ASCII碼5變?yōu)锽CD數(shù),保留低4位,去
2、掉高4位,AND AL,0FH,邏輯運(yùn)算中,雙操作數(shù)指令,操作數(shù)尋址方式的規(guī)定同算術(shù)運(yùn)算指令,格式:OR 目標(biāo),源,功能:兩個(gè)操作數(shù)進(jìn)行邏輯或運(yùn)算,結(jié)果送回目標(biāo),用途:要保留的位與0相或,需要置1的位與1相或,例如:將AL中的1位BCD數(shù)轉(zhuǎn)換為ASCII碼,OR AL,30H,(3)邏輯或指令OR,(4)邏輯異或指令XOR,格式:XOR 目標(biāo),源,功能:兩個(gè)操作數(shù)進(jìn)行異或運(yùn)算,結(jié)果送回目標(biāo),用途:部分位不變,部分位取反,例如:使BL中高四位不變,低四位取反,XOR BL,0FH,1 0 1 0 1 0 0 1【BL】, 0 0 0 0 1 1 1 1 【0FH】,1 0 1 0 0 1 1 0
3、,例如:BX清零,XOR BX,BX,(5)測(cè)試指令TEST,格式:TEST 目標(biāo),源,功能:兩個(gè)操作數(shù)進(jìn)行邏輯與運(yùn)算,結(jié)果不送回目標(biāo) ,只置標(biāo)志位,用途:不改變?cè)僮鲾?shù),測(cè)試某些位的狀態(tài)。,例如:測(cè)試AL中的D0位,TEST AL,01H,若D0 =0 ,則ZF=1,若D0 =1 ,則ZF=0,2、移位指令,(1)邏輯左移/算術(shù)左移指令SHL/SAL,格式:,邏輯左移 SHL 目標(biāo),計(jì)數(shù)值,算術(shù)左移 SAL 目標(biāo),計(jì)數(shù)值,SHL、SAL是同一條指令的兩種助記符,計(jì)數(shù)值:如果移1位,為1;如果大于1,移位次數(shù)在CL eg: mov ax,0fh mov cl,2 shl ax,cl,Shift
4、 logical left,Shift arithmetic left,操作:左移的位放入CF,右邊的空位補(bǔ)0,目標(biāo):8/16位通用寄存器或存儲(chǔ)單元,(2) 邏輯右移指令SHR,格式:SHR 目標(biāo),計(jì)數(shù)值,操作:右移的位放入CF,左邊的空位補(bǔ)0,(3)算術(shù)右移指令SAR,格式:SAR 目標(biāo),計(jì)數(shù)值,操作:右移的位放入CF,符號(hào)位不變,3、循環(huán)移位指令,(1)循環(huán)左移指令ROL,(2)循環(huán)右移指令ROR,(3)帶進(jìn)位循環(huán)左移指令RCL,(4)帶進(jìn)位循環(huán)右移指令RCR,注:,1. OF 只有當(dāng)計(jì)數(shù)值1才有效,當(dāng)目標(biāo)操作數(shù)的最高位0-1或1-0時(shí):OF=1,其他OF=0 2. 循環(huán)移位指令只影響OF
5、和CF標(biāo)志位 3. 算術(shù)移位指令:相當(dāng)于有符號(hào)數(shù)運(yùn)算,其中,SAL n位2n SAR n位/ 2n 4. 邏輯移位指令:相當(dāng)于無(wú)符號(hào)數(shù)運(yùn)算,其中,SHL n位 2n SHR n位/ 2n,2.5.4 串操作指令,1.串操作指令均采用隱含尋址方式。,2.串操作指令在執(zhí)行之前,必須做如下預(yù)備工作 :,(1)目的操作數(shù)的邏輯地址初始化: ES:段地址 DI:偏移地址(串首地址),如:MOVSB; 或 MOVSW;,(2)源操作數(shù)的邏輯地址初始化: DS:段地址 SI:偏移地址(串首地址),說(shuō)明:,(3)操作重復(fù)的次數(shù)必須存放在CX寄存器中.,3.一條串指令在完成上述預(yù)備工作后,即可直接運(yùn)用, 如:M
6、OVSB等。 但要注意,一條串指令只執(zhí)行一次(當(dāng)然內(nèi)部隱含著若干具體的操作)。如果要使得串指令執(zhí)行多次,必須用到重復(fù)前綴。,(4)方向標(biāo)志DF的確定: 若使得DF=0(CLD),則CPU每處理完一個(gè)元素,自動(dòng)修改SI和DI寄存器內(nèi)容,使之指向下一個(gè)元素(地址增加:1 (字節(jié))或者2(字) ); 若使得DF=1(STD),則CPU每處理完一個(gè)元素,自動(dòng)修改SI和DI寄存器內(nèi)容,使之指向上一個(gè)元素(地址減少:1 (字節(jié))或者2 (字) );,4. 重復(fù)前綴通常與串指令連用,目的是使得串指令執(zhí)行多次,執(zhí)行的次數(shù)由CX寄存器的值或ZF位決定。 具體格式為: 重復(fù)前綴名 串指令名 如:REP MOVSB
7、;,5.常用的重復(fù)前綴及其功能,(1)無(wú)條件重復(fù)前綴REP 格式:REP 串指令 功能:當(dāng)CX0時(shí),重復(fù)執(zhí)行指定的串指令,每執(zhí)行一次,(CX) (CX)1 。直到CX0為止。 使用:通常與MOVS串指令連用,完成一個(gè)串的傳送。,(2)相等時(shí)/結(jié)果為0時(shí)重復(fù)前綴REPE/REPZ 格式:REPE/REPZ 串指令 功能:當(dāng)ZF=1且CX0時(shí),重復(fù)執(zhí)行指定的串指令。每執(zhí)行一次,(CX) (CX)1 。當(dāng)ZF1或者CX0時(shí)停止重復(fù)。 使用:通常與CMPS串指令連用,在一個(gè)串中查找指定串。,(3)不相等時(shí)/結(jié)果不為0時(shí)重復(fù)前綴REPNE/REPNZ 格式:REPNE/REPNZ 串指令 功能: 當(dāng)ZF
8、=0且CX0時(shí),重復(fù)執(zhí)行指定的串指令。每執(zhí)行一次,(CX) (CX)1 。當(dāng)ZF0或者CX0時(shí)停止重復(fù)。 使用: 通常與SCAS串指令連用,在一個(gè)串中查找指定字符或數(shù)據(jù)。,(1)MOVS 串傳送指令 格式:MOVS目標(biāo)串,源串(不提倡) MOVSB 字節(jié)串傳送 MOVSW 字串傳送 指令功能: 從源串中取一個(gè)元素送目標(biāo)串中,根據(jù)DF修改SI和DI,使之指向下(或上)一元素(1或者2 )。若加上REP前綴,則每傳送完一個(gè)元素,CX減量,直到CX=0為止。,6.常用的串指令,DS:SI,ES:DI,23,40,23,40,DATA SEGMENT ABUF DB 100 DUP(?) DATA E
9、NDS EXTRA SEGMENT BBUF DB 100 DUP(?) EXTRA ENDS CLD ;DF=0 MOV AX, DATA MOV DS, AX MOV AX, EXTRA MOV ES, AX MOV CX,100,LEA SI,ABUF LEA DI,BBUF REP MOVSB;串傳送,直到CX=0,(2)CMPS 串比較指令 格式:CMPS 目標(biāo)串,源串 CMPSB字節(jié)串比較 CMPSW字串比較 指令功能: 將源串的一個(gè)元素和目標(biāo)串中相對(duì)應(yīng)的一個(gè)元素進(jìn)行比較,根據(jù)結(jié)果特征置標(biāo)志位,并修改SI和DI,使之指向下(上)一元素。 通常在CMPS指令前加重復(fù)前綴REPE/RE
10、PZ,用來(lái)尋找兩個(gè)串中的第一個(gè)不相同數(shù)據(jù)。,DS:SI,ES:DI,23,40,23,40,OF CF ZF AF SF PF,CLD ;DF=0 MOV CX,100 MOV SI,2400H MOV DI,1200H REPE CMPSB ;串比較,直到ZF=0或CX=0 AND CX,0FFFFH JZ same DEC SI MOV BX,SI;第一個(gè)不相同字節(jié)偏移地址送BX MOV AL,SI;第一個(gè)不相同字節(jié)內(nèi)容送AL JMP STOP same: MOV BX,0 ;兩串完全相同,BX=0 STOP: HLT,(3)SCAS 串掃描指令 格式:SCAS 目標(biāo)串 SCASB 字節(jié)串
11、掃描 SCASW字串掃描 指令功能: 用來(lái)從目標(biāo)串中查找某個(gè)關(guān)鍵字,要求查找的關(guān)鍵字應(yīng)事先置入AX或AL寄存器中。 SCAS指令的操作是: 1.將AX/AL寄存器中的關(guān)鍵字和DI所指向的目標(biāo)串中一個(gè)元素相比較,不傳送結(jié)果,只根據(jù)結(jié)果置標(biāo)志位; 2.修改DI寄存器內(nèi)容指向下(上)一個(gè)元素。 通常在SCAS指令之前加重復(fù)前綴REPNE/REPNZ,用來(lái)從目標(biāo)串中尋找關(guān)鍵字,操作一直進(jìn)行到ZF=1或CX=0為止。,(4) LODS 取串指令 格式:LODS 源串 LODSB取字節(jié)串 LODSW取字串 指令功能: 1.將源串中SI所指向的元素送到AX/AL寄存器中; 2.修改SI內(nèi)容指向下一個(gè)元素。 該指令一般不加重復(fù)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年年終總結(jié)創(chuàng)意黑金風(fēng)的團(tuán)隊(duì)與文化
- 2026年碳中和目標(biāo)下的建筑市場(chǎng)應(yīng)對(duì)策略
- 2026年電子檔案加密存儲(chǔ)流程
- 2026江蘇蘇州市吳中區(qū)社會(huì)福利中心招聘護(hù)理員1人考試參考題庫(kù)及答案解析
- 2025年西安市曲江第三中學(xué)筆試及答案
- 2025年鹽城市水利事業(yè)單位考試及答案
- 2025年金英杰保定面授筆試及答案
- 2025年湖北省義教筆試及答案
- 2025年TCL技術(shù)類(lèi)筆試題目及答案
- 2026年黃山市黟縣事業(yè)單位統(tǒng)一公開(kāi)招聘工作人員14名筆試參考題庫(kù)及答案解析
- 2024年度初會(huì)《經(jīng)濟(jì)法基礎(chǔ)》高頻真題匯編(含答案)
- 課例研究報(bào)告
- 建筑工程各部門(mén)職能及各崗位職責(zé)201702
- 五年級(jí)上冊(cè)道德與法治期末測(cè)試卷推薦
- 重點(diǎn)傳染病診斷標(biāo)準(zhǔn)培訓(xùn)診斷標(biāo)準(zhǔn)
- GB/T 3934-2003普通螺紋量規(guī)技術(shù)條件
- 蘭渝鐵路指導(dǎo)性施工組織設(shè)計(jì)
- CJJ82-2019-園林綠化工程施工及驗(yàn)收規(guī)范
- 小學(xué)三年級(jí)閱讀練習(xí)題《鴨兒餃子鋪》原文及答案
- 六宮格數(shù)獨(dú)100題
- 杭州電子招投標(biāo)系統(tǒng)使用辦法
評(píng)論
0/150
提交評(píng)論