使用 C 語言對寄存器賦值時,我們常常要求只修改該寄存器的某幾位的值,且其它的寄存器位不變,這個時候我們就需要用到 C 語言的位操作方法了。
1. 把變量的某位清零
此處我們以變量 a 代表寄存器,並假設寄存器中本來已有數值,此時我們需要把變量a 的某一位清零,且其它位不變,方法見代碼清單 6-1。

2. 把變量的某幾個連續位清零
由於寄存器中有時會有連續幾個寄存器位用於控制某個功能,現假設我們需要把寄存器的某幾個連續位清零,且其它位不變,方法見代碼清單 6-2。

3. 對變量的某幾位進行賦值。
寄存器位經過上面的清零操作后,接下來就可以方便地對某幾位寫入所需要的數值了,且其它位不變,方法見代碼清單 6-3,這時候寫入的數值一般就是需要設置寄存器的位參數。

4. 對變量的某位取反
某些情況下,我們需要對寄存器的某個位進行取反操作,即 1 變 0 ,0 變 1,這可以直接用如下操作,其它位不變,見代碼清單 6-4。