关于汇编ROR的运算

设(AX)=5,(BX)=3 ,(CX)=2,执行下列程序段后,(AX)=
LOP: ROR BX,CL
     ADC AX,BX
     LOOP LOP
请问ROR是怎么移位的?谢谢
ROR是循环右移指令,把目的操作数整体右移由源操作数指定的位数,被移出的位依次回填到左边空出的位,同时移进标志位。 

如本题,(BX)=3 ,(CX)=2 

3转换成二进制数为:00000011B,循环右移一位之后变成:10000001B;再循环右移一位之后变成:11000000B,第一次执行循环体后(BX)=0C000H,这里一定要注意,第二次循环右移时,进位标志位置位。 


程序段 
LOP: ROR BX,CL 
ADC AX,BX 
LOOP LOP 
执行后,(AX)=2006H


最佳答案
ROR是循环右移指令,把目的操作数整体右移由源操作数指定的位数,被移出的位依次回填到左边空出的位,同时移进标志位。 

如本题,(BX)=3 ,(CX)=2 

3转换成二进制数为:00000011B,循环右移一位之后变成:10000001B;再循环右移一位之后变成:11000000B,第一次执行循环体后(BX)=0C000H,这里一定要注意,第二次循环右移时,进位标志位置位。 


程序段 
LOP: ROR BX,CL 
ADC AX,BX 
LOOP LOP 
执行后,(AX)=2006H