一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

匯編(十一)——位操作類指令

 shamo9966 2015-09-29
操作類指令對(duì)二進(jìn)制的各個(gè)位進(jìn)行操作,包括邏輯運(yùn)算指令和移位指令。

 

一、邏輯運(yùn)算指令
邏輯運(yùn)算指令用來(lái)對(duì)字或字節(jié)按位進(jìn)行邏輯運(yùn)算,包括邏輯與AND、邏輯或OR、邏輯非NOT、邏輯異或XOR和測(cè)試TEST五條指令。
1、邏輯與指令A(yù)ND
AND  dest,src        ;des←dest∧src(符號(hào)∧表示邏輯與)
AND指令對(duì)兩個(gè)操作數(shù)執(zhí)行按位的邏輯與運(yùn)算:即只有相“與”的兩位都是1,結(jié)果才是1;否則,“與”的結(jié)果為0。邏輯與的結(jié)果送到目的操作數(shù)。用AND指令可以將一個(gè)字節(jié)或字中的某些特定位清零,或者說(shuō)將某些位截取下來(lái)。如將ASCII碼的高4位清零,亦即截取低4位,假設(shè)這個(gè)ASCII碼已在AL中,則AND AL,00001111B就會(huì)將AL中的低4位截取下來(lái),將AL中的高4位清零。其中00001111B稱為邏輯乘常數(shù)。AND指令及后面介紹的其他雙操作數(shù)邏輯指令OR、XOR和TEST,源操作數(shù)可以是任意尋址方式,而目的操作數(shù)只能是立即數(shù)之外的其他尋址方式,并且兩個(gè)操作數(shù)不能同時(shí)為存儲(chǔ)器尋址方式。所有雙操作數(shù)的邏輯指令均設(shè)置CF=OF=0,根據(jù)結(jié)果設(shè)置SF、ZF和PF狀態(tài),而對(duì)AF未定義。
2、測(cè)試指令TEST
TEST dest,src       ;dest∧src(符號(hào)∧表示邏輯與)
TEST指令對(duì)兩個(gè)操作數(shù)執(zhí)行按位的邏輯與運(yùn)算,但結(jié)果不回送目的操作數(shù)。TEST指令執(zhí)行的操作與AND相同,但不保存執(zhí)行結(jié)果,只根據(jù)結(jié)果來(lái)設(shè)置狀態(tài)標(biāo)志。TEST指令通常用于檢測(cè)一些條件是否滿足,但又不希望改變?cè)床僮鲾?shù)的情況,這條指令之后,一般都是條件轉(zhuǎn)移指令,目的是利用測(cè)試條件轉(zhuǎn)向不同的程序段。
3、邏輯或指令OR
OR dest,src       
OR指令對(duì)兩個(gè)操作數(shù)執(zhí)行按位的邏輯或運(yùn)算:即只要相“或”的兩位有一位是1,結(jié)果就是1。OR指令可用于置位某些位。
4、邏輯異或指令XOR
XOR dest,src
相異或的兩位不相同時(shí),結(jié)果就是1,否則,異或的結(jié)果為0。XOR可用于求反某些位,要求求反的位同“1”異或,維持不變的位同“0”異或。XOR指令經(jīng)常給寄存器清0,同時(shí)使CF也清零。
xor ax,ax       ;ax=0,CF=OF=0,SF=0,ZF=1,PF=1
5、邏輯非指令NOT
NOT reg/mem     ;reg/mem←~reg/mem(~表示邏輯反)
NOT指令對(duì)操作數(shù)按位求反,NOT指令是一個(gè)單操作數(shù)指令,操作數(shù)可以是立即數(shù)以外的任何尋址方式。NOT指令不影響標(biāo)志位。
二、移位指令
1、邏輯移位指令SHL和SHR
SHL reg/mem,1/CL           ;邏輯左移:reg/mem左移1/CL位,最低位補(bǔ)0,最高位進(jìn)入CF
SHR reg/mem,1/CL           ;邏輯右移:reg/mem右移1/CL位,最高位補(bǔ)0,最低位進(jìn)入CF
2、算術(shù)移位指令SAL和SAR
SAL reg/mem,1/CL           ;算術(shù)左移,功能與SHL相同
SAR reg/mem,1/CL           ;算術(shù)右移:reg/mem右移1/CL位,最高位不變,最低位進(jìn)入CF
移位指令按照移入的位設(shè)置進(jìn)位標(biāo)志CF,根據(jù)移位后的結(jié)果影響SF、ZF、PF,對(duì)AF沒(méi)有定義。如果進(jìn)行一位移動(dòng),則按照操作數(shù)的最高符號(hào)位是否改變,相應(yīng)設(shè)置溢出標(biāo)志OF:如果移位前的操作數(shù)最高位與移位后操作數(shù)的最高位不同(有變化),則OF=1;否則OF=0。當(dāng)移位次數(shù)大于1時(shí),OF不確定。
邏輯左移指令SHL執(zhí)行一次移位,相當(dāng)于無(wú)符號(hào)數(shù)的乘2;邏輯右移指令SHR執(zhí)行一位移位,相當(dāng)于無(wú)符號(hào)數(shù)除以2,商在目的操作數(shù)中,余數(shù)由CF標(biāo)志反映。算術(shù)右移指令SAR執(zhí)行一次移位,相當(dāng)于有符號(hào)數(shù)除以2。但應(yīng)注意,當(dāng)操作數(shù)為負(fù)(最高位為1),并且最低位有1移出時(shí),SAR指令產(chǎn)生的結(jié)果與IDIV指令的結(jié)果不同。
三、循環(huán)移位指令
循環(huán)移位指令類似移位指令,但要從一端移出的位返回到另一端形成循環(huán)。分成不帶進(jìn)位標(biāo)志循環(huán)和帶進(jìn)位標(biāo)志循環(huán)。
1、不帶進(jìn)位標(biāo)志循環(huán)指令ROL和ROR
ROL reg/mem,1/CL     ;不帶進(jìn)位循環(huán)左移
ROR reg/mem,1/CL     ;不帶進(jìn)位循環(huán)右移
2、帶進(jìn)位循環(huán)移位指令RCL和RCR
RCL reg/mem,1/CL     ;帶進(jìn)位循環(huán)左移
RCR reg/mem,1/CL     ;帶進(jìn)位循環(huán)右移
循環(huán)移位指令按照指令功能設(shè)置進(jìn)位標(biāo)志CF,不影響SF、ZF、PF、AF標(biāo)志。對(duì)OF標(biāo)志的影響,循環(huán)移位指令與移位指令一樣。

移位操作指令和循環(huán)移位操作指令示意圖:

·SHL 邏輯左移指令
格式:SHL OPR, CNT
其中OPR可以是除立即數(shù)以外的任何尋址方式。移位次數(shù)由CNT決定,CNT可以是1或CL。CNT為1時(shí)只移一位,如需要移位的次數(shù)大于1,則可以在該移位指令前把移位次數(shù)置于CL寄存器中,而移位指令中的CNT寫為CL即可。有關(guān)OPR及CNT的規(guī)定適用于以下的移位指令。


·SAL 算術(shù)左移指令

格式:SAL OPR,CNT
執(zhí)行的操作:與SHL相同。

 
 

·SHR 邏輯右移指令 
格式:SHR OPR,CNT
  

 

·SAR 算術(shù)右移指令
格式:SAR OPR,CNT

 
 

這里最高有效位右移,同時(shí)再用它自身的值填入,即如原來(lái)是0則仍為0,原來(lái)是1則仍是為1。

 

·ROL 循環(huán)左移指令
格式:ROL OPR,CNT

  

 

·ROR 循環(huán)右移指令
格式:ROR OPR,CNT

  

 

·RCL 帶進(jìn)位循環(huán)左移指令

格式:RCL OPR,CNT

  

 

·RCR 帶進(jìn)位循環(huán)右移指令
格式:RCR OPR,CNT

 

  

    所有移位指令都可以作字或字節(jié)操作。它們對(duì)條件碼的影響是:CF位根據(jù)各條指令的規(guī)定設(shè)置。OF位只有當(dāng)CNT=1時(shí)才是有效的,在移位后最高有效位的值發(fā)生變化時(shí)(原來(lái)為0,移位后為1,或原來(lái)為1,移位后為0)OF位置1,否則置0。循環(huán)移位指令不影響除CF和OF以外的其他條件標(biāo)志。而移位指令則根據(jù)移位后的結(jié)果設(shè)置SF、ZF和PF位,AF位則無(wú)定義??梢钥闯觯@八種指令可以分為兩組:前四種為移位指令,后四種為循環(huán)移位指令。循環(huán)移位指令可以改變操作數(shù)中所有位的位置,在程序中還是很有用的。移位指令則常常用來(lái)做乘以2或除以2的操作。其中算術(shù)移位指令適用于帶符號(hào)數(shù)運(yùn)算,SAL用來(lái)乘2,SAR用來(lái)除以2,而邏輯移位指令則用于無(wú)符號(hào)數(shù)運(yùn)算,SHL用來(lái)乘2,SHR用來(lái)除以2。





    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    色婷婷成人精品综合一区| 男人和女人草逼免费视频| 太香蕉久久国产精品视频| 大香蕉久草网一区二区三区| 精品伊人久久大香线蕉综合| 中文字幕中文字幕一区二区| 成人午夜爽爽爽免费视频| 女厕偷窥一区二区三区在线| 日韩在线欧美一区二区| 国产一区日韩二区欧美| 九九热这里有精品20| 日本精品啪啪一区二区三区| 日韩精品日韩激情日韩综合| 国产亚洲欧美一区二区| 欧美激情中文字幕综合八区| 久久精品福利在线观看| 日韩av生活片一区二区三区| 黄色片一区二区在线观看| 亚洲高清亚洲欧美一区二区| 麻豆精品在线一区二区三区| 欧美熟妇喷浆一区二区| 少妇人妻一级片一区二区三区| 色偷偷亚洲女人天堂观看| 日韩精品一区二区三区射精| 黄色av尤物白丝在线播放网址| 午夜小视频成人免费看| 日韩一区二区三区久久| 樱井知香黑人一区二区| 国产伦精品一区二区三区高清版| 99少妇偷拍视频在线| 人妻亚洲一区二区三区| 国产精品一区二区视频| 日本欧美视频在线观看免费| 五月婷婷综合缴情六月| 精品al亚洲麻豆一区| 亚洲精品小视频在线观看| 久久午夜福利精品日韩| 国产精品九九九一区二区| 欧美亚洲美女资源国产| 日本99精品在线观看| 日韩av欧美中文字幕|