带进位的循环移位指令
3072 点击·0 回帖
![]() | ![]() | |
![]() | 带进位的循环移位指令 带进位的循环移位指令有:带进位的循环左移RCL(Rotate Left Through Carry)和带进位的循环右移RCR(Rotate Right)。 指令的格式:RCL/RCR Reg/Mem, CL/Imm 受影响的标志位:CF和OF 带进位的循环左移/右移指令只有移位的方向不同,它们都用原CF的值填补空出的位,移出的位再进入CF。具体功能如下图(a)、(b)所示。 (a)、RCL(b)、RCR 下面是几个带进位循环移位的例子及其执行结果。 双精度移动指令指令操作数的初值指令执行后的结果 RCL AX, 1CF=0,(AX)=0ABCDH(AX)=579AH RCL AX, 1CF=1,(AX)=0ABCDH(AX)=579BH RCR AX, 2CF=0,(AX)=0ABCDH(AX)=AAF3H RCR AX, 2CF=1,(AX)=0ABCDH(AX)=EAF3H 例5.12 编写指令序列把由DX和AX组成的32位二进制算术左移、循环左移1位。 解: (DX,AX)算术左移1位指令序列(DX,AX)循环左移1位指令序列 SHL AX, 1 RCL DX, 1SHLD DX, AX, 1 RCL AX, 1 学习和理解带进位的循环移位指令的控件。 | |
![]() | ![]() |