找回密码
 立即注册
查看: 2211|回复: 0

汇编里的循环左移是什么意思?

[复制链接]

78

主题

109

回帖

1023

积分

高级会员

积分
1023

猴年

龙龙实名认证 发表于 2015-6-22 03:08:33 | 显示全部楼层 |阅读模式
  
  循环左移就是把要移的数换成二进制,比如八位二进制数左移1位,各个数都向左移动1位,标志位CF填入你那个数的最高位(1或0),最低位补填入也是你原来那个二进数的最高位数,例如八位二进数11000100向左循环左移1位,CF=1,这个数变为10001001,很详细了吧~
  循环左移/右移指令只是移位方向不同,它们移出的位不仅要进入CF,而且还要填补空出的位。
  MOV AL,82H
  ROL AL,1
  MOV AL,82H
  ROR AL,1
  首先把82H转换成二进制数10000010B循环左移1位后变成:00000101B,换算成十六进制数便是05H
  循环右移1位后变成:01000001B,换算成十六进制数便是41H
  循环的话就好象一些人排队领东西,领完了返回队位继续排(当然一只是这几个人排);不循环就是领完就走人,空出位置来。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|虫虫联盟 ( 备案号:蜀ICP备15018121号-1 )

GMT+8, 2026-4-19 13:07 , Processed in 2.458501 second(s), 25 queries .

Powered by Discuz! X5.0 Licensed

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表