首页 > 其他分享 >需要非常熟练掌握的寄存器位操作

需要非常熟练掌握的寄存器位操作

时间:2023-09-18 10:37:50浏览次数:38  
标签:位操作 熟练掌握 bita 按位 寄存器 reg

  1. bita置零 (a 为 0-7 ,0-15, 0-31 位)
    reg &= ~(1<<a);
  2. bita置1
    reg |= (1 << a);
  3. bita取反
    reg ^= (1 << a);
  4. 获取bita的值
    reg_value = (reg >> a) & 1;

思路:
置0: 用&,因为,and,or 中 X and 0为 0
置1: 用|,因为,and,or 中 X and 1为 1

位操作算数符:
| 表示按位或操作符
& 表示按位与操作符
注意与 逻辑与或的区别,||,&& 结果为 一位的0,1

寄存器某一位或者某几位的设定流程是“读——改——写”,通常都是所有位一起进行的,并不能单独去修改某一位。

参考:https://zhuanlan.zhihu.com/p/616803128

标签:位操作,熟练掌握,bita,按位,寄存器,reg
From: https://www.cnblogs.com/Nicoooolas/p/17710932.html

相关文章

  • 31-运算符总结-位操作符-优先级问题
             运行不了,因为变量未定义......
  • 熟练掌握并充分利用CSS3的新特性,持续更新中。。。
    1.1  尝试新颖的CSS3特性首先,我们来看一个具体的案例。  https://code.juejin.cn/pen/7277536985772720139 1.2  CSS3新特性简介和浏览器支持情况新特性简介:1)强大的CSS3选择器2)抛弃图片的视觉效果3)盒模型变化(多列布局和弹性盒模型)4)阴影效果5)Web字体和webFo......
  • 点亮一个LED灯-寄存器版
    目录一.流程简述二.查看参考手册一.流程简述1.打开MDK5新建一个工程并保存,选择芯片具体型号(F103C8).2.添加启动文件,创建main文件,放在工程根目录即可.3.编写代码通过控制寄存器点亮LED灯二.查看参考手册1.需要控制LED的亮灭就需要控制GPIO输出高低电平.所......
  • 系统入门C语言的寄存器
    你好,我是悦创。本篇为C语言一对一辅导笔记节选,我们来系统地了解C语言中与寄存器相关的内容。1.什么是寄存器?寄存器是位于CPU内部的小型、高速的存储单元,它们的访问速度远高于主内存。在执行程序时,常用的数据和指令经常被加载到这些寄存器中,以加速程序的运行。2.register关键字在......
  • 寄存器功能以及汇编指令一览表
    寄存器汇编指令扩展算数运算控制......
  • 段寄存器
    段寄存器段寄存器一共有96位点击查看代码structSegMent{WORDSelector;WORDAtrributes;DWORDbase;DWORDLimt;}其中Selector,可见。段描述符当执行MOVDS,AX是CPU会查表,根据AX的值来选择查找GDT,LDT表,查找表的什么位置,查出多少数据。理解:并不是把AX......
  • MODBUS RTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数
    原文链接浮点数保存的字节格式如下:地址+0+1+2+3内容SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM这里S代表符号位,1是负,0是正E偏移127的幂,二进制阶码=(EEEEEEEE)-127。M24位的尾数保存在23位中,只存储23位,最高位固定为1。此方法用最较少的位数实现了较高的有效位数,提高了......
  • STM32深入学习3:GPIO模块控制LED(寄存器版)
    GPIO模块数据手册详解:GPIO:通用输入/输出AFIO:备用输入/输出GPIOx_CRL和GPIOx_CRH:配置寄存器GPIOx_IDR和GPIOx_ODR:数据寄存器GPIOx_BSRR:置位/复位寄存器GPIOx_BRR:复位寄存器GPIOx_LCKR:锁定寄存器,锁定GPIO的数值GPIO模式:1.输入浮动:完全由外部决定2.输入上拉和输入下拉:存在......
  • MIPS寄存器堆
    实验目的熟悉并掌握MIPS计算机中寄存器堆的原理和设计方法理解源操作数/目的操作数的概念实验环境Vivado集成开发环境MIPS寄存器寄存器R0的值恒为0。模块接口设计1个写端口和2个读端口名称宽度方向描述clk1IN时钟信号raddr15IN寄存器堆读......
  • MODBUS RTU协议中浮点数是如何存储,读到浮点数寄存器的数值如何转换成所需的浮点数
    原文连接浮点数保存的字节格式如下:地址+0+1+2+3内容SEEEEEEEEMMMMMMMMMMMMMMMMMMMMMMM这里S代表符号位,1是负,0是正E偏移127的幂,二进制阶码=(EEEEEEEE)-127。M24位的尾数保存在23位中,只存储23位,最高位固定为1。此方法用最较少的位数实现了较高的有效位数,提高了精......