电竞比分网-中国电竞赛事及体育赛事平台

分享

循環(huán)移位指令

 Ethan的博客 2011-11-04

二、循環(huán)移位指令

8086指令系統(tǒng)中有4條循環(huán)移位指令:

不帶進(jìn)位位的循環(huán)左移指令 ROL

不帶進(jìn)位位的循環(huán)右移指令 ROR

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

帶進(jìn)位位的循環(huán)右移指令 RCR

這4條指令的功能如圖3.5所示。

(a)不帶CF的循環(huán)左移指令ROL

(b)不帶CF的循環(huán)右移指令ROR

(c)帶CF的循環(huán)左移指RCL

(d)帶CF的循環(huán)右移指令RCR

圖3.5 移位指令的功能

【例】請(qǐng)用不帶CF的循環(huán)左移指令對(duì)操作數(shù)10110010進(jìn)行移位。參見(jiàn)動(dòng)畫(huà)演示

【例】請(qǐng)用不帶CF的循環(huán)右移指令指令對(duì)操作數(shù)10110011進(jìn)行移位。參見(jiàn)動(dòng)畫(huà)演示

【例】請(qǐng)用帶CF的循環(huán)左移指令對(duì)操作數(shù)10110010進(jìn)行移位。參見(jiàn)動(dòng)畫(huà)演示

【例】請(qǐng)用帶CF的循環(huán)右移指令對(duì)操作數(shù)10110011進(jìn)行移位。參見(jiàn)動(dòng)畫(huà)演示

圖3.4上可以看到,ROL和ROR指令在執(zhí)行時(shí),沒(méi)有把CF包括循環(huán)中,而RCL和RCR指令在執(zhí)行時(shí),則連同CF一起循環(huán)移位。

這4條循環(huán)移位指令可以對(duì)字節(jié)進(jìn)行操作,也可以對(duì)字進(jìn)行操作,操作數(shù)可以是寄存器,也可以是存儲(chǔ)單元。如果循環(huán)移位指令只移動(dòng)l位,則在指令中直接指出,如果要移動(dòng)若干位,則必須在CL中指定移動(dòng)位數(shù)。比如:

ROL    BX,1                ;BX中的內(nèi)容不帶進(jìn)位位循環(huán)左移1位

ROL    WORD PTR [DI],CL    ;DI所指字單元中的數(shù)不帶進(jìn)位循環(huán)左移,CL中為移動(dòng)次數(shù)

循環(huán)移位指令影響CF和OF標(biāo)志,對(duì)其它標(biāo)志不影響。ROL和RCL指令在執(zhí)行一次左移后,如果操作數(shù)的最高位和CF不等,則OF置1。同樣,ROR和RCR指令在執(zhí)行一位右移時(shí),如果使操作數(shù)的最高位和次高位不等,則表示移位后的數(shù)據(jù)符號(hào)和原來(lái)的符號(hào)不同了,此時(shí)也會(huì)使OF為1。

因此,循環(huán)移位指令在執(zhí)行后,標(biāo)志位OF為1表示數(shù)據(jù)的符號(hào)發(fā)生了改變。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(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)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多