汇编语言是依赖于计算机的低级的程序设计语言。RCL指令把每一位都向左移,进位标志位复制到 LSB,而 MSB 复制到进位标志位:如果把进位标志位当作操作数最高位的附加位,那么 RCL 就成了循环左移操作。下面的例子中,CLC 指令清除进位标志位。第二条 RCL 指令将进位标志位移入最低位,其他位都向左移一位:。RCL 可以恢复之前移入进位标志位的位。如果 testval 的最低位为 1,则程序跳转;如果最低位为 0,则用 RCL 将该数恢复为初始值:。下面的示例代码用 STC 将进位标志位置 1,然后,对 AH 寄存器执行一次带进位循环右移操作:。下例中,8 位寄存器中的正数循环左移后变为负数(-2):。AL 中的结果(+64)符号位与原数相反:。如果循环移动次数大于 1,则溢出标志位无定义。

详解汇编语言RCL(带进位循环左移)和RCR(带进位循环右移)指令

详解汇编语言RCL(带进位循环左移)和RCR(带进位循环右移)指令