单片机指令RLC A带进位的循环转移,怎么进位呀?进位进到哪里去呀?可以举一个例子吗?

如题所述

先看 RL A,这条指令只是把 A 中的八位数,循环左移。

再看 RLC A,这条指令把 A 中的八位数,以及C,共九位数,循环左移。

例如:C = 1,A = 0011 0000,执行RLC A 后:

A 中的最高位 0,移到C;C 中原来的 1,移到 A 的最低位。

结果:C = 0,A = 0110 0001。
------------------
如果执行 RL A,则仅有 A 循环移位,C 就不变了。

结果:C = 1,A = 0110 0000。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-03-23
进位位CY在PSW寄存器内,是真实的物理存在,你用与不用它都在那里。在单片机执行指令RLC A前,CY有一确定值,执行RLC A时,CY到了A寄存器的D0位,D0位到D1位,以此类推,把最高位D7挤出去了,D7就进了CY位。
图示如下:
RLC A ;CY←D7←...←D0←CY
例子:
CY=1,A=01101001
执行RLC A后
CY=0,A=11010011本回答被网友采纳
相似回答