Negative flag

From HandWiki

In a computer processor the negative flag or sign flag is a single bit in a system status (flag) register used to indicate whether the result of the last mathematical operation produced a value in which the most significant bit (the left most bit) was set. In a two's complement interpretation of the result, the negative flag is set if the result was negative.

For example, in an 8-bit signed number system, -37 will be represented as 1101 1011 in binary (the most significant bit, or sign bit, is 1), while +37 will be represented as 0010 0101 (the most significant bit is 0).

The negative flag is set according to the result in the x86 series processors by the following instructions (referring to the Intel 80386 manual[1]):

  • All arithmetic operations except multiplication and division;
  • compare instructions (equivalent to subtract instructions without storing the result);
  • Logical instructions – XOR, AND, OR;
  • TEST instructions (equivalent to AND instructions without storing the result).

References