汇编语言ROL(循环左移)指令:将操作数所有位都向左移

您所在的位置:网站首页 历史是国家的传记 汇编语言ROL(循环左移)指令:将操作数所有位都向左移

汇编语言ROL(循环左移)指令:将操作数所有位都向左移

#汇编语言ROL(循环左移)指令:将操作数所有位都向左移| 来源: 网络整理| 查看: 265

首页 教程 VIP会员 辅导班 嵌入式学习路线 首页 C语言教程 C++教程 Python教程 Java教程 Linux入门 更多>> 首页 > 编程笔记 汇编语言ROL(循环左移)指令:将操作数所有位都向左移 以循环方式来移位即为位元循环(Bitwise Rotation)。一些操作中,从数的一端移出的位立即复制到该数的另一端。还有一种类型则是把进位标志位当作移动位的中间点。 ROL(循环左移)指令把所有位都向左移。最高位复制到进位标志位和最低位。该指令格式与 SHL 指令相同: 位循环不会丢弃位。从数的一端循环出去的位会出现在该数的另一端。在下例中,请注意最高位是如何复制到进位标志位和位 0 的:

mov al,40h        ; AL = 01000000b rol al,1               ; AL = 10000000b, CF = 0 rol al,1               ; AL = 00000001b, CF = 1 rol alz1              ; AL = 00000010b, CF = 0

循环多次 当循环计数值大于 1 时,进位标志位保存的是最后循环移出 MSB 的位:

mov al,00100000b rol al,3           ; CF = 1, AL = 00000001b

位组交换 利用 ROL 可以交换一个字节的高四位(位 4〜7)和低四位(位 0〜3)。例如,26h 向任何方向循环移动 4 位就变为 62h:

mov al, 26h rol al, 4          ; AL = 62h

当多字节整数以四位为单位进行循环移位时,其效果相当于一次向右或向左移动一个十六进制位。例如,将 6A4Bh 反复循环左移四位,最后就会回到初始值:

mov ax, 6A4Bh rol ax, 4              ; AX = A4B6h rol ax, 4              ; AX = 4B6Ah rol ax, 4              ; AX = B6A4h rol ax, 4              ; AX = 6A4Bh

关注公众号「站长严长生」,在手机上阅读所有教程,随时随地都能学习。内含一款搜索神器,免费下载全网书籍和视频。

微信扫码关注公众号

推荐阅读 一套完整的嵌入式开发学习路线(高薪就业版) 一套课程卖1万,TMD太贵了! 跑了3000公里,见了一位大佬 C++ class和struct到底有什么区别 MySQL DELETE:删除数据 MySQL删除存储过程(DROP PROCEDURE) 什么是闭包,Python闭包(初学者必读) 使用Java 8新增的Predicate操作Collection集合 EL表达式完全攻略 Tkinter Text文本框控件

精美而实用的网站,分享优质编程教程,帮助有志青年。千锤百炼,只为大作;精益求精,处处斟酌;这种教程,看一眼就倾心。

关于网站 | 关于站长 | 如何完成一部教程 | 公众号 | 联系我们 | 网站地图

Copyright ©2012-2022 biancheng.net, 冀ICP备2022013920号, 冀公网安备13110202001352号

关注微信公众号,加入官方交流群。内含一款搜索神器,免费下载全网书籍和视频。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3