经典汇编语言教程:5.2.5 带进位的循环移位指令

5.2.5 带进位的循环移位指令

带进位的循环移位指令有:带进位的循环左移RCL(Rotate Left ThroughCarry)和带进位的循环右移RCR(RotateRight)。

指令的格式:RCL/RCR Reg/Mem, CL/Imm

受影响的标志位:CF和OF

带进位的循环左移/右移指令只有移位的方向不同,它们都用原CF的值填补空出的位,移出的位再进入CF。具体功能如下图(a)、(b)所示。

(a)、RCL(b)、RCR

下面是几个带进位循环移位的例子及其执行结果。

双精度移动指令

指令操作数的初值

指令执行后的结果

RCL  AX, 1

CF=0,(AX)=0ABCDH

(AX)=579AH

RCL  AX, 1

CF=1,(AX)=0ABCDH

(AX)=579BH

RCR  AX, 2

CF=0,(AX)=0ABCDH

(AX)=AAF3H

RCR  AX, 2

CF=1,(AX)=0ABCDH

(AX)=EAF3H

例5.12 编写指令序列把由DX和AX组成的32位二进制算术左移、循环左移1位。

解:

(DX,AX)算术左移1位指令序列

(DX,AX)循环左移1位指令序列

SHL  AX, 1
RCL  DX, 1

SHLD  DX, AX, 1
RCL   AX, 1

学习和理解带进位的循环移位指令的控件。

6、移位指令的学习和理解

下面的控件是把各种移位指令的模拟功能组合在一起。它不仅简单、直观地表达了各种移位指令的功能,而且能通过对照,理解它们之间的区别。该控件还结合了其它指令(CLCSTCCMC)来增加指令的组合变化。

上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号