关于循环位移

lxjjoinly 2007-11-03 06:23:08
例,下面程序片段实现把AL的最低位送入BL最低位,仍保持AL不变。
ROR BL,1
ROR AL,1
RCL BL,1
ROL AL,1
我这几天刚自学汇编,不大明白上面这段代码?AL的最低位是怎么送入BL中的,不是循环位移只是在自身中循环位移的吗?
只不过区别是进位标志是不是一起循环而已吧。谁帮我解释下,谢谢了!!!
...全文
126 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lxjjoinly 2007-11-03
  • 打赏
  • 举报
回复
懂了,谢谢了!!!!
因为ROR AL,1 把最低位移入了CF中,然后RCL BL,1 把CF中标志带到BL的最低位。
呵呵,没看仔细不带进位的ROR把最低位移入最高位也把最低位移入进位标志CF。
gabalwto 2007-11-03
  • 打赏
  • 举报
回复
是这样的,循环(不带进位的)移为移出的位不仅要进入CF,而且还要填补空出的位。带进位的循环移位就直接把CF带入循环的队列中,所以不管是哪种循环移位都会有CF的参加,只是作用不同罢了。在这里RCL BL,1将CF带到了BL中,注意这里只有RCL是带进位的循环移位,CF参加了移位,其它移位指令中,CF只是发生变化,并没有参加移位。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧