龙龙 发表于 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
  循环的话就好象一些人排队领东西,领完了返回队位继续排(当然一只是这几个人排);不循环就是领完就走人,空出位置来。
页: [1]
查看完整版本: 汇编里的循环左移是什么意思?