• 修改寄存器的位操作方法


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

     

     
     
     
     
     
     
     
     
  • 相关阅读:
    对于近期学习上的复习与整理
    ACM的奇计淫巧_输入挂
    hdu2602 DP (01背包)
    hdu 1723 DP/递推
    hdu1428 记忆化搜索(BFS预处理最短路径和+DP+DFS)
    hdu1355
    hdu1331&&hdu1579记忆化搜索(DP+DFS)
    hdu1257 dp(最长上升子序列)
    hdu1208 dp
    hdu 1203 dp(关于概率的```背包?)
  • 原文地址:https://www.cnblogs.com/zhj868/p/12785185.html
Copyright © 2020-2023  润新知