Status register

From Wikipedia, the free encyclopedia

A status register (also: flag register or condition code register (CCR)) is a collection of flag bits for a processor that indicates the status of various mathematical operations. These flags are commonly used during conditional testing and program branching.

The ordering, number, and sometimes the exact interpretation of these flags is generally unique to the processor, due to specific device configurations, et cetera. For example, the x86 architecture has its own unique FLAGS register.

[edit] Common status register flags

  • Z = Zero flag. Indicates whether the result of a mathematical or logical operation was zero
  • C = Carry flag. Indicates whether the result of an operation produced an answer greater than the number of available bits. (This flag may also be set before a mathematical operation as an extra operand to certain instructions)
  • N (sometimes S) = Negative or Sign flag. Indicates whether the result of a mathematical operation is negative. In the TLCS-900 series of Toshiba microcontrollers, the N flag and S flag have different meanings: the N flag indicates whether a subtraction or addition has taken place, whereas the N flag indicates whether the last operation result is positive or negative (see PDF page 10 of the official operation manual).
  • V (sometimes O) = Overflow flag. Indicates whether the result of an operation has overflowed according to the two's complement representation. (Similar to the carry flag but for signed operations)
  • I = Interrupt enable flag. Interrupts can be enabled or disabled by respectively setting or clearing this flag
  • P = Parity flag. Indicate whether the number of bits of the result is odd or even.

[edit] See also

In other languages