首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请问Holtek MCU使用汇编语言中的RR和RL操作与使用C语言中的位移运算符>>和

请问Holtek MCU使用汇编语言中的RR和RL操作与使用C语言中的位移运算符>>和

请问Holtek MCU使用汇编语言中的RR和RL操作与使用C语言中的位移运算符>>和<<操作的

结果是否相同?

睡觉睡到自然醒,数钱数到手抽筋!
  ▲╭╩═╮╔════╗╔════╗╔════╗╔════╗╔════╗
    ╭╯G O ╠╣支持楼主╠╣正真牛人 ╠╣雁过留声╠╣人过留帖╠╣拿分走人╣
    ╰⊙═⊙╯╚◎══◎╝╚◎══◎╝╚◎══◎╝╚◎══◎╝╚◎══◎╝


两种操作的结果是不同的。使用汇编语言中的RR和RL指令,会将相应的数据存储器右移一

位,结果放回数据存储器中,不影响C标(进位标志位)。而使用C语言中的位移运算符>>

和<<会对运算符左边的操作数执行向右或向左的位移运动,移动的位数由运算符右边的操

作数决定,如果进行右移操作则左边高位会补0,反之进行左移操作则右边低位会补0,同

时需要注意右移或左移时的移出数据会进入标志位C,从而改变C标的原值 。
________________________________________

睡觉睡到自然醒,数钱数到手抽筋!
  ▲╭╩═╮╔════╗╔════╗╔════╗╔════╗╔════╗
    ╭╯G O ╠╣支持楼主╠╣正真牛人 ╠╣雁过留声╠╣人过留帖╠╣拿分走人╣
    ╰⊙═⊙╯╚◎══◎╝╚◎══◎╝╚◎══◎╝╚◎══◎╝╚◎══◎╝
返回列表