ATtiny13 状态寄存器

发布者:RadiantBeauty最新更新时间:2020-07-17 来源: eefocus关键字:ATtiny13  状态寄存器  算术指令 手机看文章 扫描二维码
随时随地手机看文章

状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。


在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理。

ATtiny13 SREG


AVR 中断寄存器 SREG 定义如下:
·Bit 7 – I: 全局中断使能
I 置位时使能全局中断。单独的中断使能由其他独立的控制寄存器控制。如果I 清零,则不论单独中断标志置位与否,都不会产生中断。任意一个中断发生后I 清零,而执行RETI
指令后I 恢复置位以使能中断。I 也可以通过SEI 和CLI 指令来置位和清零。
·Bit 6 – T: 位拷贝存储
位拷贝指令BLD 和BST 利用T 作为目的或源地址。BST 把寄存器的某一位拷贝到T,而
BLD 把T 拷贝到寄存器的某一位。
·Bit 5 – H: 半进位标志
半进位标志H 表示算术操作发生了半进位。此标志对于BCD 运算非常有用。详见指令集
的说明。
·Bit 4 – S: 符号位, S = N ⊕ V
S 为负数标志N 与2 的补码溢出标志V 的异或。详见指令集的说明。
·Bit 3 – V: 2 的补码溢出标志
支持2 的补码运算。详见指令集的说明。
·Bit 2 – N: 负数标志
表明算术或逻辑操作结果为负。详见指令集的说明。
·Bit 1 – Z: 零标志
表明算术或逻辑操作结果为零。详见指令集的说明。
·Bit 0 – C: 进位标志
表明算术或逻辑操作发生了进位。详见ATtiny13指令集的说明。

关键字:ATtiny13  状态寄存器  算术指令 引用地址:ATtiny13 状态寄存器

上一篇:ATtiny13 通用寄存器
下一篇:ATtiny13 内核介绍

推荐阅读最新更新时间:2024-11-10 17:57

ARM汇编指令集之六——程序状态寄存器访问指令
1、 MRS指令 MRS指令的格式为: MRS{条件} 通用寄存器,程序状态寄存器(CPSR或SPSR) MRS指令用于将程序状态寄存器的内容传送到通用寄存器中。该指令一般用在以下两种情况: Ⅰ.当需要改变程序状态寄存器的内容时,可用MRS将程序状态寄存器的内容读入通用寄存器,修改后再写回程序状态寄存器。 Ⅱ.当在异常处理或进程切换时,需要保存程序状态寄存器的值,可先用该指令读出程序状态寄存器的值,然后保存。 指令示例: MRS R0,CPSR ;传送CPSR的内容到R0 MRS R0,SPSR ;传送SPSR的内容到R0 2、 MSR指令 MSR指令的格式为:
[单片机]
ARM9_S3C2440学习(二)ARM状态下的寄存器组织
ARM状态下的寄存器组织见图2.3。ARM有37个32位长的寄存器,包括31个通用寄存器、1个当前程序状态寄存器CPSR(current program status register)、5个备份的程序状态寄存器SPSR(saved program status register)。这37个寄存器并不都是同时可见的。在任意时刻,只有16个通用寄存器(R0~R15)和一个或者两个状态寄存器(CPSR和SPSR)对处理器来讲是可见的。 1. 通用寄存器 31个通用寄存器用R0~R15表示,可以分为三类: ●未分组寄存器R0~R7。 ●分组寄存器R8~R14。 ●程序计数器PC(R15)。 (1)未分组寄存器R0~R7   在所有的
[单片机]
ATmega48 控制和状态寄存器MCUCSR
AVR 控制和状态寄存器提供了有关引起AVR复位的复位源的信息。 · Bit 7..4 – Res: 保留位 ATmega48/88/168中的这些位都没有适用,读返回值始终为 0”。 · Bit 3 – WDRF: 看门狗复位标志 看门狗复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。 · Bit 2 – BORF: 掉电检测复位标志 掉电检测复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。 · Bit 1 – EXTRF: 外部复位标志 外部复位发生时置位。上电复位将使其清零,也可以通过写”0” 来清除。 · Bit 0 – PORF: 上电复位标志 上电复位发生时置位。只能通过写”0”
[单片机]
ATmega48 控制和<font color='red'>状态</font><font color='red'>寄存器</font>MCUCSR
ARM中的程序状态寄存器CPSR
M 处理器模式 ARM模式可访问的寄存器 THUMB模式可访问的寄存器 0b10000 用户模式 PC,CPSR,R0~R14 PC,CPSR,R0~R7,LR,SP 0b10001 FIQ模式 PC,CPSR,SPSR_fiq,R14_fiq~R8_fiq,R0~R7 PC,CPSR,SPSR_fiq,LR_fiq,SP_fiq,R0~R7 0b10010 IRQ模式 PC,CPSR,SPSR_irq,R14_irq~R13_irq,R0~R12 PC,CPSR,SPSR_irq,LR_irq,SP_irq,R0~R7
[单片机]
ARMv8-A架构基础之保存的进程状态寄存器
当发生异常时,处理器状态将以类似于ARMv7-A中的CPSR的方式存储在相关的已保存程序状态寄存器(SPSR)中。 SPSR在发生异常之前保存PSTATE字段的值,并在执行异常返回时用于恢复PSTATE字段的值。 下图显示了从AArch64中发生异常时的SPSR: exceptions_from_aarch32.png 下图显示了从AArch32中发生异常时的SPSR: exceptions_from_aarch64.png 各个位代表AArch64的以下值: N 负数结果(N标志)。 Z 零结果(Z)标志。 C 进位(C标志)。 V 溢出(V标志)。 SS Software Step。指示在发生异常时
[单片机]
ARMv8-A架构基础之更改执行状态寄存器
您只能通过更改异常级别来更改执行状态。 发生异常时可以将执行状态从AArch32更改为AArch64,并且从异常返回时可以将其从AArch64更改为AArch32。在进入异常级别时使用AArch64,在离开异常级别时使用AArch32: 如果使用AArch32执行,对任何较低的异常级别能访问的寄存器的高32位的访问,其值是未知的。 在AArch32执行过程中不可访问的寄存器,保留他们在AArch32执行前的状态。 在进入EL3异常时,如果EL2使用AArch32,则ELR_EL2的高32位的值是未知的。 当进入一个AArch32执行期间无法访问的异常级别时,该异常级别的AArch64堆栈指针(SP)和异常链接寄存器(ELR
[单片机]
ARM学习笔记6——程序状态寄存器访问指令
  这两条指令结合,可用于对CPSR或SPSR进行读/写操作。 当需要保存或修改当前模式下CPSR或SPSR的内容时,首先必须将这些内容传递到通用寄存器中 1、MRS指令(Move to Register from Status Register)   1.1、作用     它将程序状态寄存器内容传输到通用寄存器   1.2、语法格式     MRS{ condition } Rd ,CPSR     MRS{ condition } Rd ,SPSR   1.3、参数说明      Rd :确定指令的目标寄存器,如果R15被用作目标寄存器,指令的执行结果不可预知,因为每执行一个指令,PC都会改变。   1.4、使用场合   
[单片机]
ATmega16 状态寄存器
状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。 在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理。 AVR 中断寄存器 SREG 定义如下: ·Bit 7 – I: 全局中断使能 I 置位时使能全局中断。单独的中断使能由其他独立的控制寄存器控制。如果I 清零,则不 论单独中断标志置位与否,都不会产生中断。任意一个中断发生后I 清零,而执行RETI 指令后I 恢复置位以使能中断。I 也可以通过SEI 和CL
[单片机]
ATmega16 <font color='red'>状态</font><font color='red'>寄存器</font>
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved