码迷,mamicode.com
首页 > 其他好文 > 详细

修改寄存器的位操作方法

时间:2020-04-27 11:39:28      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:idt   参数   情况   info   ima   连续   图片   操作   功能   

使用 C 语言对寄存器赋值时,我们常常要求只修改该寄存器的某几位的值,且其它的寄存器位不变,这个时候我们就需要用到 C 语言的位操作方法了。
1. 把变量的某位清零
此处我们以变量 a 代表寄存器,并假设寄存器中本来已有数值,此时我们需要把变量a 的某一位清零,且其它位不变,方法见代码清单 6-1。
技术图片
2. 把变量的某几个连续位清零
由于寄存器中有时会有连续几个寄存器位用于控制某个功能,现假设我们需要把寄存器的某几个连续位清零,且其它位不变,方法见代码清单 6-2。
技术图片
3. 对变量的某几位进行赋值。
寄存器位经过上面的清零操作后,接下来就可以方便地对某几位写入所需要的数值了,且其它位不变,方法见代码清单 6-3,这时候写入的数值一般就是需要设置寄存器的位参数。
技术图片
4. 对变量的某位取反
某些情况下,我们需要对寄存器的某个位进行取反操作,即 1 变 0 ,0 变 1,这可以直接用如下操作,其它位不变,见代码清单 6-4。

 技术图片

 

 

 
 
 
 
 
 
 
 

修改寄存器的位操作方法

标签:idt   参数   情况   info   ima   连续   图片   操作   功能   

原文地址:https://www.cnblogs.com/zhj868/p/12785185.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!