访问电脑版页面

导航:老古开发网手机版其他

学习AVR(六)CPU中状态寄存器

导读:
关键字:
状态寄存器包含最近执行的算术运算的结果的有关信息。这些信息可以用来实现条件运算,以改变程序流向。注意,状态寄存器在所有的ALU运算结束后才被刷新。在许多情况下,这将取代专用的比较指令,可以使得代码更快、更紧凑。

       当进入中断程序时,状态寄存器不会自动储存;从中断程序中返回时,它也不会恢复到原值。这必须由软件来处理。

SREG 

 位 7 6 5 4 3 2 1 0
 读/写  I T H S V N Z C
 初始值  0  0  0  0  0

·位7-I:全局中断使能

要想使能中断,必须将该位置位。单个的中断使能控制由单独的控制寄存器完成。如果全局中断使能位被清零,所有的中断都被禁能,而不管它们的各自的中断使能位如何设置。当中断产生后,I 位由硬件清零,然后由 RETI 指令置位,以使能后续的中断。也可以在程序中使用 SEI 和 CLI 指令将 I  位置位或清零,详见指令组。
(罗亩按:这个位与传统的51架构中的 IE 类似。)

·位6-T:位复制存储

位复制(Bit Copy)指令BLD(Bit LoadD)和BST(Bit STore)使用T位作为操作位的源或目标位。在寄存器文档(Register File)中一个寄存器的一位,可以由 BST 指令复制到T中,而T中的一位也可由 BLD 指令复制到寄存器文档中一个寄存器的位中。

·位5-H:半进位标志

在一些算术运算中,半进位标志 H 指示半进位(Half Carry)。在BCD运算中,半进位很有用。

·位4-S:符号们,S=N⊕V

S位通常是负数标志N和2的补码溢出标志V的异或。

·位3-V:2的补码溢出标志

2的补码溢出标志V支持2的补码运算。

·位1-N:负数标志

负数标志N指示在算术运算或逻辑运算中得出负的结果。(罗亩问:逻辑运算也有负结果吗?)

·位1-Z:零标志

零标志指示在算术或逻辑运算中结果为零。

·位0-C:进位标志

进位标志C指示在算术或逻辑运算中出现进位。

来源:   作者:  2006/9/25 16:50:53
栏目: [ ]

相关阅读

安森美推出新的高功率图腾柱PFC控制器,满足具挑战的能效标准

动态功耗低至60μA/MHz!助力设备超长续航,首选国民技术低功耗MCU!