?? asslandat44.dat
字號(hào):
循環(huán)移位指令
循環(huán)移位指令是指操作數(shù)首尾相連的移位操作。按進(jìn)位標(biāo)志CF是否參加循環(huán)移位,又可分為不帶CF的循環(huán)移位和帶CF的循環(huán)移位兩類,每一 類都可進(jìn)行左移或右移,循環(huán)移位的次數(shù)由COUNT操作數(shù)給出。
指令格式:ROL OPRD1,COUNT;不含進(jìn)位標(biāo)志位CF在循環(huán)中的左循環(huán)移位指令。
ROR OPRD1,COUNT;不含進(jìn)位示志位CF在循環(huán)中的右循環(huán)移位指令。
RCL OPRD1,COUNT;帶進(jìn)位的左循環(huán)移位指令。
RCR OPRD1,COUNT;帶進(jìn)位的右循環(huán)移位指令
本指令組只影響標(biāo)志CF、OF。OF由移入CF的內(nèi)容決定,OF取決于移位一次后符號(hào)位是否改變,如改變,則OF=1。由于是循環(huán)移位,所以對(duì)字 節(jié)移位8次;對(duì)字移位16次,就可恢復(fù)為原操作數(shù)。由于帶CF的循環(huán)移位,可以將CF的內(nèi)容移入,所以可以利用它實(shí)現(xiàn)多字節(jié)的循環(huán)。
例:將AL中的組合的兩個(gè)BCD分解為兩個(gè)未組合的BCD數(shù),存于BH及BL寄存器中。程序?yàn)椋?
MOV AH,AL;保存AL內(nèi)容至AH中
MOVCL,4;循環(huán)次數(shù)4送CL
SHR AL,CL;將AL右移4次,高4位移至低4位
MOV BH,AL;高位BCD送BH中
AND AH,0FH;得到低位BCD數(shù)
MOV BL,AH;低位BCD數(shù)送BL中
以上程序中的指令SHR AL,CL如改為SAR AL,CL,雖然最高4位可移入低4位,但最高位不為0,故應(yīng)加入一條指令A(yù)ND AL,0FH。否則,若最 高位不為0時(shí),將得到錯(cuò)誤結(jié)果。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -