问题如上
关于单片机中的RLC运算
答案:2 悬赏:20 手机版
解决时间 2021-01-02 04:39
- 提问者网友:却不属于对方
- 2021-01-02 01:37
最佳答案
- 五星知识达人网友:人间朝暮
- 2021-01-02 02:32
(1)在6处,之所以选择带进位左移,就是将低位运算的CY结果也一块加上左移,并没有将CY清零啊~
(2)对一个数进行左移,必然会造成最高位溢出的结果,这时候CY当然就是溢出的标志位,你对BDH即10111101做左移,如果存储器有9位的话,本来应该是101111010,即17AH,但是存储器只有8位,溢出的最高位1只能由CY来标志,当然7AH要加上CY的1才是BDH的二倍。
(2)对一个数进行左移,必然会造成最高位溢出的结果,这时候CY当然就是溢出的标志位,你对BDH即10111101做左移,如果存储器有9位的话,本来应该是101111010,即17AH,但是存储器只有8位,溢出的最高位1只能由CY来标志,当然7AH要加上CY的1才是BDH的二倍。
全部回答
- 1楼网友:千夜
- 2021-01-02 03:13
rl是左移指令,参加左移的是8个位
rlc是带进位位的左移,参加左移的共有9个位
设a=01000001,c=1;
则如果执行rl ,则a=10000010,c=1(a所有位左移一位,最低位补零,c不参加移位操作,保持原值不变)
如果执行rlc后,则a=10000011,c=0(a的最高位移到c,c原值移到a最低位)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯