Registr příznaků

Registr příznaků je jeden z procesorových registrů. Na rozdíl od většiny ostatních není interpretován jako číslo, ale každý z jeho bitů má zvláštní význam, jedná se o soubor příznaků procesoru. Provedení některých instrukcí může měnit hodnotu některých příznaků. Nastavení jednotlivých příznaků je pak buď možno přímo číst, nebo je nepřímo využíváno tak, že ovlivňuje chování některých instrukcí. Typickým příkladem jsou instrukce podmíněných skoků, které provedou skok v závislosti na stavu konkrétních příznaků – tedy v závislosti na výsledku předchozích instrukcí.

Velikost registru příznaků, počet, pozice i význam jednotlivých bitů závisí na typu procesoru, respektive na jeho architektuře. Například v rámci architektury x86 byl původně registr příznaku 16bitový a u procesorů typu 8086 byly ještě některé bity nevyužívané, ale od procesorů 80386 výš už byl 32bitový.[1]

Příznaky lze dělit na aritmetické-logické a na řídící. Příklady aritmeticko-logických příznaků jsou:

a příklady řídících příznaků jsou:

Příznakový registr procesoru Z80

registr F
S Z   H   P/V N C

Příznakový registr procesoru Z80 je také nazýván registr F a v instrukcích pro operace s tímto registrem pracujících jako s celkem (a nikoliv jenom s jednotlivými příznaky) je tímto písmenem také označen.

Příznaky umístěné v registru F jsou:

  • příznak znaménka - SIGN, S - u osmibitových operací je nastaven pro čísla větší než 128, u šestnáctibitových operací je nastaven pro čísla větší než 32768,[2]
  • příznak nuly - ZERO, Z - obvykle je nastavován, pokud je výsledek operace nula, instrukce bit příznak nuly nastavuje, pokud je testovaný bit nulový, instrukce blokového vstupu a výstupu ini, ind, outi a outd příznak nastaví, pokud je hodnota v registru B rovna nule, instrukce blokového vstupu a výstupu s opakováním inir, indr, otir a otdr příznak nuly nastaví vždy na jedna a instrukce blokového hledání cpi a cpd a instrukce blokového hledání s opakováním cpir a cpdr nastavují příznak nuly, pokud se prohledávaném bloku paměti nachází hodnota shodná s hodnotou uloženou v registru A,[2]
  • příznak polovičního přenosu - HALF CARRY, H[2]
  • příznak parity a přetečení - PARITY & OVERFLOW, P/V - příznak kombinuje význam příznaku parity a příznaku přetečení, logické operace bit nastavují, pokud výsledek obsahuje pokud je ve výsledku sudý počet shodných bitů, a aritmetické operace příznak nastavují, pokud se při počítání s čísly jako sedmibitovými čísly změní hodnota nejvyššího bitu a instrukce ld a,r a ld a,i do příznaku kopírují hodnotu klopného obvodu IFF, který určuje, zda je povolené či zakázané přerušení,[2]
  • příznak odečítání - N - příznak je nastaven, pokud předcházející operace byla odečítání,
  • příznak přenosu - CARRY, C - je nastaven, pokud je výsledek operace větší nebo menší, než maximální, resp. minimální hodnota, která může být uložena v registru či ve dvojici registrů, a je využíván pri operacích rotace a posuvu registru.[2]

Příznak polovičního přenosu a příznak odečítání nejsou přímo testovatelné.[2] Příznaky jsou v registru F uloženy v pořadí od sedmého bitu k nultému jako S, Z, nevyužitý bit, H, nevyužitý bit, P/V, N a C.[3]

Příznakový registr mikroprocesoru 8051

PSW
CY AC F0 RS1 RS0 OV --- P

Příznakový registr architektury MCS-51 je osmibitový a označuje se jako PSW (Program Status Word - stavové slovo). Jejich hodnota je přímo využita (čtení/nastvení) některými instrukcemi. Lze v něm adresovat bity jednotlivě (bit-addressable).

  • Bit 7 - CY (Carry)- příznak přenosu. Nastaví se, došlo-li k přenosu nebo výpůjčce z nejvyššího bitu.
  • Bit 6 - AC (Auxiliary Carry) - poloviční přenos. Nastaví se, pokud došlo k přenosu nebo výpůjčce mezi třetím a čtvrtým bitem (využívá se pro BCD aritmetiku).
  • Bit 5 - F0 (Flag 0) - uživatelský příznak.
  • Bit 4 - RS1 (Register Select 1) - vyšší bit volby banky registrů (určuje, z jaké oblasti paměti se budou jednotlivé registry využívat).
  • Bit 3 - RS0 (Register Select 0) - nižší bit volby banky registrů.
  • Bit 2 - OV (Overflow) - příznak přetečení.
  • Bit 1 - bez názvu - uživatelský příznak (jednobitová paměť).
  • Bit 0 - P (Parity) - příznak parity. Indikuje lichý počet jedniček v akumulátoru - nejvýznamnějším registru 8051. [4]

Příznakový registr v procesoru konzole GameBoy

registr F
Z N H C 0 0 0 0

Příznakový registr (také nazýván jako registr F) procesoru konzole GameBoy obsahuje pouze čtyři příznaky, jejich význam je totožný s odpovídajícími příznaky procesoru Z80. Při čtení spodních čtyř bitů registru jsou tyto bity vždy nulové, a to i v případě, že do nich byla zapsána jednička.[5]

Reference

V tomto článku byl použit překlad textu z článku Status register na anglické Wikipedii.

  1. VRÁTIL, Zdeněk. Assembler PC. [s.l.]: GETHON audio and computer, 1994. 
  2. a b c d e f VILÍM, Tomáš. Assembler a ZX Spectrum, 1. díl. Ústí nad Labem: Proxima - Software, 1992. 
  3. 8ビット CPU Z80命令セット [online]. Rev. 2015-08-23 [cit. 2016-01-15]. Kapitola フラグレジスター. Dostupné online. (japonsky) 
  4. Intel, 02/1994. Dostupné online. (anglicky) 
  5. Duo's GameBoy ASMSchool [online]. [cit. 2016-01-12]. Kapitola GameBoy Opcode Summary. Dostupné online. (anglicky) 

Zdroj datcs.wikipedia.org
Originálcs.wikipedia.org/wiki/Registr_příznaků
Zobrazit sloupec 

Kalkulačka - Výpočet

Výpočet čisté mzdy

Důchodová kalkulačka

Přídavky na dítě

Příspěvek na bydlení

Rodičovský příspěvek

Životní minimum

Hypoteční kalkulačka

Povinné ručení

Banky a Bankomaty

Úrokové sazby, Hypotéky

Směnárny - Euro, Dolar

Práce - Volná místa

Úřad práce, Mzda, Platy

Dávky a příspěvky

Nemocenská, Porodné

Podpora v nezaměstnanosti

Důchody

Investice

Burza - ČEZ

Dluhopisy, Podílové fondy

Ekonomika - HDP, Mzdy

Kryptoměny - Bitcoin, Ethereum

Drahé kovy

Zlato, Investiční zlato, Stříbro

Ropa - PHM, Benzín, Nafta, Nafta v Evropě

Podnikání

Města a obce, PSČ

Katastr nemovitostí

Katastrální úřady

Ochranné známky

Občanský zákoník

Zákoník práce

Stavební zákon

Daně, formuláře

Další odkazy

Auto - Cena, Spolehlivost

Registr vozidel - Technický průkaz, eTechničák

Finanční katalog

Volby, Mapa webu

English version

Czech currency

Prague stock exchange


Ochrana dat, Cookies

 

Copyright © 2000 - 2024

Kurzy.cz, spol. s r.o., AliaWeb, spol. s r.o.