




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 第第7章章 邏輯運(yùn)算邏輯運(yùn)算 7.1 邏輯運(yùn)算指令邏輯運(yùn)算指令 7.2 移位及循環(huán)移位移位及循環(huán)移位 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 7.1 邏輯運(yùn)算指令邏輯運(yùn)算指令 一切的邏輯指令都將處置存放器或存儲(chǔ)器中的一個(gè)字節(jié)或一個(gè)字。指令將被操作(參與運(yùn)算)的字節(jié)、字的各位予以配對(duì),并且設(shè)定CF、OF、PF、SF和ZF標(biāo)志的形狀,AF標(biāo)志對(duì)于用戶沒(méi)有意義。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 7.1.1 邏輯指令 1. AND 與運(yùn)算 假設(shè)被配對(duì)的兩個(gè)位都為1,那么其結(jié)果為1;而在其他的情況中,它的值均為0。 2. OR 或運(yùn)算 假設(shè)被配對(duì)的兩個(gè)位其中有一個(gè)為1,那么其
2、結(jié)果為1;假設(shè)兩者都是0,那么結(jié)果為0。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 3. XOR 異或運(yùn)算 假設(shè)被配對(duì)的兩個(gè)位其中一個(gè)為0,而另一個(gè)為1,那么結(jié)果為1;假設(shè)被配對(duì)的兩個(gè)位是一樣值(都為0或都為 1),其結(jié)果為0。 參與邏輯運(yùn)算的操作數(shù)有兩個(gè),第一個(gè)操作數(shù)所指定的字節(jié)或字,存放在存放器或存儲(chǔ)器單元中,其中的值是獨(dú)一可改動(dòng)的,由于最后的結(jié)果存放在此存放器或存儲(chǔ)器單元中。 例如,下面的AND、OR及XOR指令,運(yùn)用的操作數(shù)值是一樣的。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 A ND OR XOR 0101 0101 0101 0011 0011 0011結(jié)果: 0001 0111 0110第第7 7
3、章章 邏輯運(yùn)算邏輯運(yùn)算 例7.1 以下邏輯運(yùn)算中,各標(biāo)題彼此是互不相關(guān)的,假設(shè)AL的內(nèi)容為11000101,BH的內(nèi)容為01011100,進(jìn)展以下邏輯運(yùn)算后,相應(yīng)的存放器被設(shè)為: (1) AND AL,BH ;將AL設(shè)為01000100 (2) OR BH,AL ;將BH設(shè)為11011101 (3) XOR AL,AL ;將AL設(shè)為00000000 (4) AND AL,00 ;將AL設(shè)為00000000 (5) AND AL,0FH ;將AL設(shè)為00000101 (6) OR CL,CL ;設(shè)定SF及ZF第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 例7.1中的(3)和(4)提供了一個(gè)將存放器清為0的方
4、法。(5)將AL的高4位清為0。 可以利用OR來(lái)完成下面的操作目的,也可以利用CMP指令(這樣能夠會(huì)更清楚)。 例7.2 OR的運(yùn)用。 (1) OR CX,CX ;測(cè)試CX能否為0 JZ ;假設(shè)為0那么轉(zhuǎn)移 (2) OR CX,CX ;測(cè)試CX的正負(fù)號(hào) JS ;假設(shè)為負(fù)那么轉(zhuǎn)移第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 4. TEST TEST的功能與AND類似,但是它只設(shè)定標(biāo)志的值,不將結(jié)果存于第一個(gè)操作數(shù)的存放器或存儲(chǔ)器單元中。 例7.3 TEST的運(yùn)用。 (1) TEST BL,11110000B ;BL的高4位能否有不為0的位? JNZ 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 (2) TEST AL,
5、00000001B ;AL的內(nèi)容能否為奇 數(shù)? JNZ (3) TEST DX,0FFH ;DX的內(nèi)容能否為0? JZ 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 5. NOT NOT是另一種邏輯運(yùn)算指令,它的作用是將存放器或存儲(chǔ)器單元中的字節(jié)或字的每個(gè)位取反,即01,10。 例如,假設(shè)AL的內(nèi)容為11000101,那么NOT AL指令會(huì)將AL的內(nèi)容變?yōu)?0111010。NOT與NEG二者并不一樣,NEG是求一個(gè)數(shù)的相反數(shù),它會(huì)將一切的位取反,然后再加1(即求補(bǔ))。NEG進(jìn)展的是0操作數(shù)。例如,0FFH(-1)經(jīng)NEG后變?yōu)?1H(+1)。 TEST與AND作用一樣也是與運(yùn)算,但是只設(shè)定標(biāo)志,并不改動(dòng)該
6、位的值。 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 7.1.2 將小寫(xiě)轉(zhuǎn)換為大寫(xiě) 例7.4 將小寫(xiě)轉(zhuǎn)換成大寫(xiě)。 在許多情況下,需求將大寫(xiě)與小寫(xiě)字母進(jìn)展轉(zhuǎn)換。例如,他能夠接納到一個(gè)文件,里面的內(nèi)容是由大寫(xiě)字母所組成的,或者一個(gè)程序,允許運(yùn)用者以大寫(xiě)或小寫(xiě)回答命令(例如YES或yes),他需求將它們轉(zhuǎn)換后再進(jìn)展測(cè)試。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 大寫(xiě)字母AZ,以十六進(jìn)制的ASCII碼表示即41H5AH;而小寫(xiě)字母az的ASCII碼是61H7AH。二者獨(dú)一不同之處是,大寫(xiě)的b5位是0,而小寫(xiě)的b5位是1,如下所示: 位:7 6 5 4 3 2 1 0 位: 7 6 5 4 3 2 1 0字母A:0 1
7、0 0 0 0 0 1 字母Z: 0 1 0 1 1 0 1 0字母 a:0 1 1 0 0 0 0 1 字母 z: 0 1 1 1 1 0 1 0第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 例7.4的程序清單(L74.LST)如下: ; filename:L74.ASM0000CODE SEGMENT PARA CODE A S S U M E CS:CODE,DS:CODE,SS:CODE 0100 ORG 100H 0100 EB 1C 90BEGIN:JMP MAIN ; 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 43 68 61 6E 67 65 20TITLEX DB Change to upper
8、case letters 74 6F 20 75 70 70 65 72 63 61 73 65 20 6C 65 74 74 65 72 73; 011EMAIN PROC NEAR 011E 8D 1E 0104 R LEA BX,TITLEX+1 ;被轉(zhuǎn)換字母開(kāi)場(chǎng)地址 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 B9 001A MOV CX,26 ;被轉(zhuǎn)換字母數(shù) 0125B20: 8A 27 MOV AH,BX ;從TITLEX欄取字母 80 FC 61 CMP AH,61H ;假設(shè)字母小于a 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 012A 72 0AJB B30 ;假設(shè)字母大于z 012C 80 F
9、C 7A CMP AH,7AH ;那么 012F 77 05 JA B30 ;轉(zhuǎn)B30 80 E4 DF AND AH,11011111B ;假設(shè)字母是小寫(xiě)轉(zhuǎn)換成大寫(xiě) 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 88 27 MOV BX,AH ;轉(zhuǎn)換結(jié)果仍存入TITLEX 0B30: 43 INC BX ;指向下一個(gè)字母 0 E2 ECLOOP B20 0 C3 RET 013AMAIN ENDP 013ACODE ENDS END BEGIN 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 例7.4的程序,從TITLEX+1的偏移地址開(kāi)場(chǎng),將TITLEX字符串的字母從小寫(xiě)轉(zhuǎn)換為大寫(xiě),此程序設(shè)定BX的初值為T(mén)ITLE
10、X+1的偏移地址,然后利用此地址,把從TITLEX+1開(kāi)場(chǎng)的字節(jié)一一傳送給AH。假設(shè),字節(jié)的值是在61H到7AH的范圍內(nèi),那么AND指令將會(huì)把b5位設(shè)為0: AND AH,11011111B 一切不是az的字節(jié),那么不會(huì)改動(dòng)其內(nèi)容。這個(gè)程序同時(shí)把被轉(zhuǎn)換后的字節(jié)再送回TITLEX,并且添加BX的值,以便處置下一個(gè)字節(jié)。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 7.2 移位及循環(huán)移位移位及循環(huán)移位 移位和循環(huán)移位指令是CPU邏輯處置才干的一部分。它們具有以下幾項(xiàng)功能。 (1) 可以作用在一個(gè)字節(jié)或字上; (2) 可以作用在存放器或存儲(chǔ)器上; (3) 可以向左或向右移位/循環(huán)移位; (4) 假設(shè)作用的是字節(jié)
11、,那么最多可以移位/循環(huán)移位8位;假設(shè)是字,那么可以到達(dá)16位;第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 (5) 可分為邏輯(不帶正負(fù)號(hào))或算術(shù)(帶有正負(fù)號(hào))的移位; (6) 假設(shè)移位的位是1位,那么可以直接寫(xiě)成操作數(shù)1;假設(shè),移位的位數(shù)大于1位,那么就要將此值傳送給CL存放器。 7.2.1 移位 被移出的位將置入CF標(biāo)志中。圖7-1是移位指令的助記符和圖形闡明。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 SHR不帶正負(fù)號(hào)的向右移位字或字節(jié)CF 0 SHL不帶正負(fù)號(hào)的向左移位CF0SAR向右算術(shù)移位CFSAL向左算術(shù)移位CF0圖7-1 移位指令的助記符和圖形闡明第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 例如,SHR的運(yùn)
12、用(下面的指令是延續(xù)的)。 MOV CL,03 (AL) MOV AL,10110111B ;10110111 SHR AL,1 ;01011011 向右移1位 SHR AL,CL ;00001011 向右移3位 第一條SHR將AL的內(nèi)容向右移1位。被移出的位放在CF標(biāo)志中,CF為1;并在AL的最左(最高)位移入0。第二條SHR將AL向右移3位。CF標(biāo)志的內(nèi)容依序變化為1、1及0,并且在AL的最左邊三個(gè)位補(bǔ)0。 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 例如,利用SAR向右算術(shù)移位的情況。 MOV CL,03 (AL) MOV AL,10110111B ;10110111 SAR AL,1 ;1101
13、1011 向右移1位 SAR AL,CL ;11111011 向右移3位 SAR與SHR有一重要的不同點(diǎn),即SAR利用正負(fù)號(hào)位去填補(bǔ)最左邊(最高位)空出的位,即最高位堅(jiān)持不變。利用這種方法,正值與負(fù)值都堅(jiān)持它們?cè)瓉?lái)的正負(fù)號(hào)。上面的例子正負(fù)號(hào)位的值為1。第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 向左移位是在右邊的位置上補(bǔ)0。因此,SHL及SAL的作用就完全一樣了。向左移位可以使移位的值乘以2,向右移位可以使移位的值除以2。這是一種非常有用的方法,并且二者都比用乘除指令更快速。 奇數(shù)(例如,5和7)在除以2時(shí),所得的值會(huì)比真正的值小(分別是2和3),并且CF被設(shè)定為1。假設(shè)要挪動(dòng)兩個(gè)位,可以延續(xù)運(yùn)用兩條移
14、位指令,這樣會(huì)比將2放入CL中,再用一條移位指令效率更高。 利用JC(如有進(jìn)位那么轉(zhuǎn)移)指令,可以測(cè)試被移入CF標(biāo)志的位。 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 7.2.2 循環(huán)移位 循環(huán)移位指令會(huì)將被移出的位再回送給空出的位。圖7-2是循環(huán)移位指令的助記符和圖形闡明。 ROR向右循環(huán)移位字節(jié)或字 ROL向左循環(huán)移位 RCR和進(jìn)位位CF一起向右循環(huán)移位 CF RCL和進(jìn)位位CF一起向左循環(huán)移位 CF圖7-2 循環(huán)移位指令的助記符和圖形闡明 第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 例如,下面的指令序列用來(lái)闡明ROR的作用。 MOV CL,03 (BL) MOV BL,1011 0111B ;1011 0111 ROR BL,1 ;1101 1011 向右循環(huán)移1位 ROR BL,CL ;0111 1011 向右循環(huán)移3位第第7 7章章 邏輯運(yùn)算邏輯運(yùn)算 第一條ROR,是把BL的最右邊的一個(gè)位移出,將它放在BL最左邊空出來(lái)的位中。第二條ROR移出最右邊的三個(gè)位,將它依順序放在BL最左邊的3個(gè)位中。 RCR和RCL兩條指令,將和CF標(biāo)志一同循環(huán)移位。被移出的位移入CF中,而原
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)民土地承包權(quán)轉(zhuǎn)讓合同
- 12《富起來(lái)到強(qiáng)起來(lái)》教學(xué)設(shè)計(jì)、教材分析與教學(xué)反思、課前任務(wù)單2023-2024學(xué)年道德與法治五年級(jí)下冊(cè)統(tǒng)編版
- 3我認(rèn)識(shí)您了 教學(xué)設(shè)計(jì)-2023-2024學(xué)年道德與法治一年級(jí)上冊(cè)統(tǒng)編版
- 20《肥皂泡》第一課時(shí) 教學(xué)設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文三年級(jí)下冊(cè)
- 個(gè)人借款中介合同范本
- 2024-2025學(xué)年初中生物課后服務(wù)活動(dòng)教學(xué)設(shè)計(jì):生態(tài)系統(tǒng)的平衡與保護(hù)
- 礦石洗選加工合同合同范本
- 8的乘法(教學(xué)設(shè)計(jì))-2024-2025學(xué)年二年級(jí)上冊(cè)數(shù)學(xué)滬教版
- 5《雷雨》節(jié)選(教學(xué)設(shè)計(jì))-2024-2025學(xué)年高一語(yǔ)文下學(xué)期同步教學(xué)教學(xué)設(shè)計(jì)專輯(統(tǒng)編版必修下冊(cè))
- 瓷磚合同范本
- 語(yǔ)言學(xué)綱要(新)課件
- 心理評(píng)估與診斷簡(jiǎn)介課件
- 移動(dòng)式壓力容器充裝復(fù)審換證考試重點(diǎn)題庫(kù)(180題)
- 小班安全《湯姆走丟了》PPT課件教案反思微視頻
- 作物栽培學(xué)課件棉花
- 最新小學(xué)二年級(jí)口算及豎式計(jì)算練習(xí)題
- 生產(chǎn)與運(yùn)作管理-陳榮秋
- 金雞冠的公雞繪本課件
- 日影朝向及長(zhǎng)短
- 沙盤(pán)游戲治療(課堂PPT)
- (完整版)學(xué)生的自我評(píng)價(jià)的表格
評(píng)論
0/150
提交評(píng)論