Příznak znaménka

Příznak znaménka[1] (zkracováno někdy SF z anglického sign flag, někdy N z anglického negative) je jeden z bitů registru příznaků některých procesorů. Je nastavován tehdy, když je výsledkem matematické operace záporné číslo, což je v široce používané reprezentaci pomocí dvojkového doplňku tehdy, má-li výsledek operace nastaven nejvýznamnější bit (plnící funkci znaménkového bitu).

Příznak může být nastavován početními operacemi, logickými operacemi i instrukcí porovnání.

Na základě nastavení příznaku znaménka se mohou realizovat podmíněné skoky, například procesory z rodiny x86 mají přímo instrukce:[2]

JS
skočí, je-li nastaven příznak znaménka
JNS
skočí, není-li nastaven příznak znaménka

Kromě toho je samozřejmě příznak znaménka brán v úvahu i při vyhodnocování srovnání čísel se znaménkem, například instrukcí[2]

JL
skočí, je-li příznak znaménka různý od příznaku přetečení.

Podobně na procesorech z rodiny ARM jsou možné podmíněné instrukce s podmínkami:[3]

MI
(minus) proveď instrukci, je-li nastaven příznak znaménka
PL
(plus) proveď instrukci, není-li nastaven příznak znaménka

a jiné podmíněné znaménkovým porovnáním čísel.

Reference

  1. MAREK, Rudolf. Učíme se programovat v jazyce Assembler pro PC. Brno: Computer Press, 2003. ISBN 80-7226-843-0. 
  2. a b BRANDEJS, Michal. Mikroprocesory Intel 8086 – 80486 [online]. Brno: Fakulta informatiky Masarykovy univerzity, 2010 [cit. 2014-02-24]. S. 51. Dostupné online. 
  3. ARM Architecture Reference Manual [online]. ARM Limited, 2000 [cit. 2014-02-24]. (anglicky)