修改寄存器的位操作方法

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

 

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