单片机中如何使用状态寄存器STATUS
发布网友
发布时间:2022-04-29 05:27
我来回答
共3个回答
热心网友
时间:2022-06-19 14:13
很少直接读取、判断,一般都通过间隔的方式在用,而且用的很频繁。
加法、进位是最典型的。大于一个字长的加法指令,低位字加法直接加,之后的字,都需要用带进位的加法,这个进位,就是存在状态寄存器中,用户不需要判断这个进位标志。由加法指令直接产生,带进位加法指令使用。同样,减法、乘法、除法,以及各种运算指令都会根据设定的规则去影响不同的标志位,这些标志位都存在状态寄存器。
另外,条件跳转的跳转条件判断,实际上就是判断各种状态位的状态,比如如果a大于b则跳转,实际上就是先执行a-b,根据结果设置进位,然后根据进位是否置位来跳转。一般,进位标志置位,说明有借位,即a小于b,如果无进位标志,则说明 a大于等于b。
其他还有一些标志,表示CPU当前状态的,需要具体的芯片具体的分析了。
结论,如果不使用汇编语言编程,状态寄存器了解一下就可以,大部分的细节都是在自动运转的,用户不需要很明白。如果用汇编,那要看每条指令的时候,一定要看清楚,它是怎么根据结果设置状态寄存器的,指令手册里面都会列出来的。
热心网友
时间:2022-06-19 14:13
应说明使用什么单片机。
不同的单片机,有不同的处理指令。
楼主不会以为单片机只有一种吧?
热心网友
时间:2022-06-19 14:14
C 进位和借位标志,用作两个数据判断,加法,减法;
Z 结果为0 判断,用作判断计算结果为0否。
有的有DC,作半借位,判断半个字节的进位和借位