msp430 CPUx的sr是几位的?

是16位还是17位啊,如果是17位那他内部的结构是什么样的啊

msp430 CPUx的sr是16位的。 sr是状态寄存器,用于存储CPU的状态标志,如进位位、零位、负位、溢出位等。 sr还用于存储PC的高四位,以实现20位的程序计数器。 当发生中断或异常时,sr和PC的值会自动压入栈中,当执行RETI指令时,sr和PC的值会自动弹出栈中,恢复原来的状态和地址。

  • 这篇博客: MSP430单片机各种寄存器总结(1)——CPU 寄存器中的 1.3 SR——状态寄存器 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
    1. 用作源或目标寄存器的16位状态寄存器(SR,也称为R2)只能用于通过字指令寻址的寄存器模式。 寻址模式的其余组合用于支持常数发生器。
    2. SCG1:系统时钟发生器1该位可用于根据器件系列启用或禁用时钟系统中的功能; 例如,DCO偏置启用或禁用。
    3. SCG0:系统时钟发生器0该位可用于根据器件系列启用或禁用时钟系统中的功能; 例如,FLL(频率锁定环)启用或禁用。
    4. OSCOFF:关闭振荡器。 该位置1时,当LFXT1 CLK不用于MCLK或SMCLK时,它会关闭LFXT1晶体振荡器。
    5. CPUOFF:CPU关闭。 该位置1时,将关闭CPU。
    • CPUOFF,OSCOFF,SCGO和SCG1位请求系统进入低功耗模式。
    1. GIE:中断使能总控制位,可以使能/屏蔽可屏蔽中断。
      SR状态寄存器
      可以使用如下指令配置SR寄存器:
    //将SR某位置1
    __bis_SR_register();
    _bis_SR_register();
    _BIS_SR();
    //将SR某位置0
    __bic_SR_register();
    _bic_SR_register();
    _BIC_SR();
    

    上述都是内置函数,关于更多的内置函数,请查看博客(这两篇博客显然一样并且都是转(抄)的,随便看看吧)。