展开全部
一、方式不同
1、循环左移:累加器自身循环向左移位。
2、带进位循环左移:累加器连同进位位一起左移。
二、过程不同
1、循环左移:移出的位不仅要进入CF,而且还要填补空出的位。
2、带进位循环左移:用原CF的值填补空出的位,移出的位再进入CF。
三、功能不同
1、循环左移:把操作数d,的各个二进制位向左移动d位,从d左端移出的每一位再依次移到右端空出的位上,最后移出的位还要送到CF中。
2、带进位循环左移:把操作数d的各位与CF联合在一起,构成9个或者17个二进制位,向左移动d位,从左端移出的各位再依次移到右端空出的位上。
参考资料来源:百度百科-算数左移位
参考资料来源:百度百科-循环移位
展开全部
循环左移ROL(Rotate Left):移出的位不仅要进入CF,而且还要填补空出的位。
带进位的循环左移RCL(Rotate Left Through Carry):用原CF的值填补空出的位,移出的位再进入CF。
假设当前,AL=01010011B,CF=1,则
执行指令 ROL AL,1
后,AL=10100110B,CF=0
执行指令 RCL AL,1
后,AL=10100111B,CF=0
最后一位的1,是先前CF的1
带进位的循环左移RCL(Rotate Left Through Carry):用原CF的值填补空出的位,移出的位再进入CF。
假设当前,AL=01010011B,CF=1,则
执行指令 ROL AL,1
后,AL=10100110B,CF=0
执行指令 RCL AL,1
后,AL=10100111B,CF=0
最后一位的1,是先前CF的1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
循环左移是指寄存器内的东西移动,如AH循环左移,那么移动的位数总共是8位。
带进位循环左移是指CY寄存器的东西也参与到移动中来。
举例:(为说明问题,用1-9的数字来说,其实都是0和1)
假定AH=12345678,cy=9
循环左移后AH:23456781
带进位循环左移AH:23456789
带进位循环左移是指CY寄存器的东西也参与到移动中来。
举例:(为说明问题,用1-9的数字来说,其实都是0和1)
假定AH=12345678,cy=9
循环左移后AH:23456781
带进位循环左移AH:23456789
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如进位位CF是0,寄存器AL中是1001
循环左移
ROL AL
之后,AL中是0011,
带进位的循环左移
RCL AL
之后
AL是0010,CF中是1
循环左移
ROL AL
之后,AL中是0011,
带进位的循环左移
RCL AL
之后
AL是0010,CF中是1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如101
一个变成010,一个变成011。
一个变成010,一个变成011。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询