ROR是循环右移指令,把目的操作数整体右移由源操作数指定的位数,被移出的位依次回填到左边空出的位,同时移进标志位。
如本题,(BX)=3 ,(CX)=2
3转换成二进制数为:00000011B,循环右移一位之后变成:10000001B;再循环右移一位之后变成:11000000B,第一次执行循环体后(BX)=0C000H,这里一定要注意,第二次循环右移时,进位标志位置位。
程序段
LOP: ROR BX,CL
ADC AX,BX
LOOP LOP
执行后,(AX)=2006H
是循环右移,不带进位的
图片是循环左移,没有找到右移的,只要把箭头反过来就可以了