微型計算機(jī)技術(shù)第3章5邏輯移位_第1頁
微型計算機(jī)技術(shù)第3章5邏輯移位_第2頁
微型計算機(jī)技術(shù)第3章5邏輯移位_第3頁
微型計算機(jī)技術(shù)第3章5邏輯移位_第4頁
微型計算機(jī)技術(shù)第3章5邏輯移位_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

邏輯運(yùn)算指令(5條)實(shí)現(xiàn)與、或、非、異或、測試等邏輯運(yùn)算操作數(shù)的搭配關(guān)系同算術(shù)運(yùn)算除邏輯“非”指令不影響標(biāo)志外,其他邏輯運(yùn)算指令均影響標(biāo)志SF、ZF和PF,而OF和CF一定被置0,AF不確定1、邏輯“與”指令A(yù)ND格式:AND

d,s功能:

(d)

?

(d)

(s)說明:將目的操作數(shù)d與源操作數(shù)s按位相“與”結(jié)果送回d中,常用于使某些位清0內(nèi)

存立即數(shù)AH,ALBH,BLCH,CLDH,DLAX,BXCX,DXSI,DIBP,SP例如:AND

AX,BXAND

CL,[SI]AND

[BX][DI-10H],WORD

PTR

80HANDANDANDANDANDCH,ALBX,1BYTE

PTR

[20H],20HAL,30HBYTE

PTR

[DI],12HOF=CF=0,其它標(biāo)志位受影響d、s必須具有相同的字長AND AX,

BLd、s不能為段寄存器AND DS,

2000Hd不能是立即數(shù)AND 10H,

AX【例】屏蔽AL的0,1兩位。AND

AL,0FCH****

****【例】將AH的高4位清0。AND

AH,0FH【例】將BX的低4位清0。AND

BX,0FFF0H∧

1111

1100****

**00****

****∧

0000

11110000

********

****

****

****∧

1111

1111

1111

0000****

****

****

00002、邏輯“或”指令OR格式:OR

d,s功能:

(d)

?

(d)

(s)說明:將目的操作數(shù)d與源操作數(shù)s按位相“或”結(jié)果送回d中,常用于使某些位置位(置1)內(nèi)

存立即數(shù)AH,ALBH,BLCH,CLDH,DLAX,BXCX,DXSI,DIBP,SP例如:OR

AX,BXOR

CL,[SI]OR

[BX][DI-10H],WORD

PTR

80HORORORORORCH,ALBX,1BYTE

PTR

[20H],20HAL,30HBYTE

PTR

[DI],12HOF=CF=0,其它標(biāo)志位受影響d、s必須具有相同的字長OR AX,

BLd、s不能為段寄存器OR DS,

2000Hd不能是立即數(shù)OR 10H,

AX【例】將AL的0,1兩位置1。OR

AL,03H****

****【例】將AH的高4位置1。OR

AH,0F0H【例】將BX的低4位置1。OR

BX,000FH∨

0000

0011****

**11****

****∨

1111

00001111

********

****

****

****∨

0000

0000

0000

1111****

****

****

11113、邏輯“異或”指令OR格式:OR

d,s功能:

(d)

?

(d)

(s)說明:將目的操作數(shù)d與源操作數(shù)s按位相“異或”結(jié)果送回d中,常用于使某些位取反內(nèi)

存立即數(shù)AH,ALBH,BLCH,CLDH,DLAX,BXCX,DXSI,DIBP,SP例如:XOR

AX,BXXOR

CL,[SI]XOR

[BX][DI-10H],WORD

PTR

80HXORXORXORXORXORCH,ALBX,1BYTE

PTR

[20H],20HAL,30HBYTE

PTR

[DI],12HOF=CF=0,其它標(biāo)志位受影響d、s必須具有相同的字長XOR AX,

BLd、s不能為段寄存器XOR DS,

2000Hd不能是立即數(shù)XOR 10H,

AX【例】對AL的0,1兩位取反。****

****⊕

00000011****

**--【例】對CL的1,2,3,4,5位取反,其它位不變。****

****⊕

0011

1110**-

- -

-

-*【例】置DX為0。XOR

DX,DXXOR

AL,03HXOR

CL,3EH4、邏輯“非”指令NOT格式:NOT

d功能:

(d)

?

(d)說明:將目的操作數(shù)d取反后結(jié)果送回d中例如:NOT

AXNOT

DHNOT

SINOT BYTE

PTR

[SI]不影響標(biāo)志位d不能是段寄存器、立即數(shù)NOT

DSNOT

10H5、測試指令TEST格式:TEST

d,s功能:(d)

(s)說明:將目的操作數(shù)d與源操作數(shù)s按位相“與”,只影響標(biāo)志位不回送結(jié)果,常用于測試某些位是0或1內(nèi)

存立即數(shù)AH,ALBH,BLCH,CLDH,DLAX,BXCX,DXSI,DIBP,SP例如:TESTTESTTESTTESTTESTTESTTESTTESTAX,BXCL,[SI][BX][DI-10H],WORD

PTR

80HCH,ALBX,1BYTE

PTR

[20H],20HAL,30HBYTE

PTR

[DI],12HOF=CF=0,其它標(biāo)志位受影響d、s必須具有相同的字長TEST AX,

BLd、s不能為段寄存器TEST DS,

2000Hd不能是立即數(shù)TEST 10H,

AX【例】測試AL的最高位是0/1?TESTAL,80HJZXXX;是0則跳轉(zhuǎn)(JNZXXX;是1則跳轉(zhuǎn))【例】測試DX的低4位是0/1?TESTDX,0FHJZXXX;是0則跳轉(zhuǎn)(JNZXXX;是1則跳轉(zhuǎn))移位運(yùn)算指令(8條)對8位或16位的通用寄存器或存儲器內(nèi)容進(jìn)行移位,移位次數(shù)可以為1~255若移位次數(shù)為1則可直接寫在指令中,若次數(shù)為2~255則不能直接寫在指令中,必須先將次數(shù)放在寄存器CL中,指令中只能寫CL,移位結(jié)束后CL的值不變影響標(biāo)志OF、SF、ZF、PF、CF,但AF不確定。當(dāng)移位次數(shù)為1時,若移位結(jié)果使最高位符號位發(fā)生變化,則溢出標(biāo)志OF=1,否則OF=0;當(dāng)移位次數(shù)超過1時,OF無效6、邏輯左移指令SHL(SHift

Left)格式:SHL

d,count功能:邏輯左移例如:SHL

AX,1MOV

CL,4SHL

DH,CL說明:將目的操作數(shù)d左移count位,右邊補(bǔ)0,左邊入CFD7D15

D01CLCF0SF、ZF、PF

根據(jù)移位結(jié)果設(shè)置CF=移入的數(shù)值A(chǔ)F無定義OF=d不能是段寄存器和立即數(shù)1 count=1時,最高位的值改變0 count=1時,最高位的值不變邏輯左移1位相當(dāng)于無符號數(shù)乘以2!BX乘以2:SHLBX,1BX乘以3:MOV

AX,BXSHL

BX,1ADD

BX,AXBX乘以4:MOVSHLCL,2BX,CLBX乘以5:MOV

AX,BXMOV

CL,2SHL

BX,CLADD

BX,AXBX乘以6:MOV

AX,BXMOV

CL,

2SHL

BX,CLSHL

AX,1ADD

BX,AXBX乘以7:MOV

AX,BXMOV

CL,3SHL

BX,CLSUB

BX,AXBX乘以8:MOV

CL,3SHL

BX,CLSUB

BX,AXBX乘以9:MOV

AX,BXMOV

CL,3SHL

BX,CLADD

BX,AXBX乘以10:MOV

AX,BXMOV

CL,3SHL

BX,CLSHL

AX,1ADD

BX,AX7、邏輯右移指令SHR(SHift

Right)格式:SHR

d,count功能:邏輯右移例如:SHRSI,1MOVCL,3SHRBYTE

PTR[BX],CL說明:將目的操作數(shù)d右移count位,左邊補(bǔ)0,右邊入CFD7D15

D01CLCF0SF、ZF、PF

根據(jù)移位結(jié)果設(shè)置CF=移入的數(shù)值A(chǔ)F無定義OF=d不能是段寄存器和立即數(shù)1 count=1時,最高位的值改變0 count=1時,最高位的值不變邏輯右移1位相當(dāng)于無符號數(shù)除以2!8、算術(shù)左移指令SAL(Arithmetic)格式:SAL

d,count功能:同邏輯左移完全相同1CL例如:SAL

AX,1MOV

CL,4SAL

DH,CLCFD7D15D009、算術(shù)右移指令SAR(Arithmetic)格式:SAR

d,count功能:算術(shù)右移例如:SAR

DI,1MOV

CL,3SAR

BP,CL1CLSF不變,ZF、PF

根據(jù)移位結(jié)果設(shè)置CF=移入的數(shù)值A(chǔ)F無定義OF=d不能是段寄存器和立即數(shù)1 count=1時,最高位的值改變0 count=1時,最高位的值不變算術(shù)右移1位相當(dāng)于有符號數(shù)除以2!CF說明:將操作數(shù)d的內(nèi)容右移,左邊不變,右邊移入CF中D7D15

D0符號位不變10、循環(huán)左移指令ROL(ROtate/ROund

Left)格式:ROL

d,count功能:循環(huán)左移例如:ROL

DI,1MOV

CL,3ROL BYTE

PTR

[SI],CL說明:將操作數(shù)d的內(nèi)容左移,最高位循環(huán)移入最低位,同時移入CFD7D15

D01CLSF、ZF、PF

、AF不受影響CF=移入的數(shù)值1 count=1時,最高位的值改變OF=0 count=1時,最高位的值不變d不能是段寄存器和立即數(shù)CF功能:循環(huán)右移說明:將操作數(shù)d的內(nèi)容右移,最低位循環(huán)移入最高位,同時移入CFD7D15

D0例如:ROR

SI,1MOV

CL,4ROR BYTE

PTR

[DI],CL11、循環(huán)右移指令ROR(ROtate/ROund

Right)

1格式:ROR

d,countCLSF、ZF、PF

、AF不受影響CF=移入的數(shù)值1 count=1時,最高位的值改變OF=0 count=1時,最高位的值不變d不能是段寄存器和立即數(shù)CF12、帶進(jìn)位循環(huán)左移指令RCL(ROtate/ROund

Carry

Left)格式:RCL

d,count功能:帶

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論