完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
ATmega168状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。
|
|
相关推荐
1个回答
|
|
状态寄存器包含了最近执行的算术指令的结果信息。这些信息可以用来改变程序流程以实现条件操作。如指令集所述,所有ALU 运算都将影响状态寄存器的内容。这样,在许多情况下就不需要专门的比较指令了,从而使系统运行更快速,代码效率更高。
在进入中断服务程序时状态寄存器不会自动保存,中断返回时也不会自动恢复。这些工作需要软件来处理。 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: 进位标志 |
|
|
|
只有小组成员才能发言,加入小组>>
705 浏览 0 评论
1114 浏览 1 评论
2491 浏览 5 评论
2826 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2671 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
661浏览 9评论
671浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
789浏览 6评论
634浏览 5评论
679浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 23:11 , Processed in 1.047231 second(s), Total 79, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号