Operácie

Blabla1

Zo stránky SensorWiki

Verzia z 10:17, 25. február 2009, ktorú vytvoril Chamraz (diskusia | príspevky) (Nová stránka: == Základné aritmeticko-logické operácie == == Elementárne aritmeticko-logické operácie == Logické operácie sa uskutočňujú nad pamäťovými miestami obyčajne s re...)
(rozdiel) ← Staršia verzia | Aktuálna úprava (rozdiel) | Novšia verzia → (rozdiel)

Základné aritmeticko-logické operácie

Elementárne aritmeticko-logické operácie

Logické operácie sa uskutočňujú nad pamäťovými miestami obyčajne s registrami CPU, pričom operácia sa vykonávajú so všetkými dvojicami bitov (bitmi) pamäťových miest. Pamäťové miesta (slová) môžu byť jedno a viacbajtové. Bity v tychto slovách označujeme indexom, ktorého počiatočná hodnota je 0 a index narastá zprava doľava :

Označovanie bitov v 8-bitovom slove (v jednobajtovom slove)

Označovanie bitov v 16-bitovom slove (v dvojbajtovom slove)

LSB – Least Significant Bit ( bit s najmenšou váhou) MSB – Most Significant Bit ( bit s najväčšou váhou)


Operácie delíme ich na - unárne – vykonávajú sa s jedným pamäťovým miestom - binárne– vykonávajú sa s dvoma pamäťovými miestami Medzi elementárne operácie, ktoré vykonávajú takmer všetky CPU sú :

  • Negácia (NOT)

Patrí medzi unárne operácie: Pravidlá pre jednobitové operandy sú: Pre viacbitové ( budeme uvádzať príklady pre 8-bitové operandy ( jeden bajt)

  • logický súčet (OR)

Patrí medzi binárne operácie: Pravidlá pre jednobitové operandy sú:

Pre jednobajtové operandy:

Použitie: Vnútenie logickej jednotky do ľubovolnej pozície v byte, v bytoch tzv. maskou. Napr.: Vykonaním logického súčtu ľubovolného bytu s maskou, ktorá je reprezentovaná bytom s obsahom

bude v uvedenom byte v bitoch s indexom 7,6 a 2 vždy logická jednotka bez ohľadu na predchádzajúci obsah bytu.

kde X je obsah bitu pred vykonaním operácie.


  • logický súčin (AND)

Patrí medzi binárne operácie. Pravidlá pre jednobitové operandy sú:

Pre jednobajtové operandy:

Použitie: Vnútenie logickej nuly do ľubovolnej pozície v byte, v bytoch tzv. maskou. Napr.: Vykonaním logického súčtu ľubovolného bytu s maskou, ktorá je reprezentovaná bytom s obsahom


bude v uvedenom byte v bitoch s indexom 7,6 a 2 vždy logická nula bez ohľadu na predchádzajúci obsah bytu.

Pomocou masky môžeme testovať logickú hodnotu vybraného bitu, bitov, bajtu a bajtov. Použitím, napríklad, masky

po vykonaní logického súčinu s vybraným bajtom, bude výsledok operácie nulový, ak v bite s indexom 2 bola logická nula, a naopak nenulový, ako v danom bite bola logická jednotka. Nulový výsledok znamená, že bajt (bajty), do ktorých sa zapíše výsledok aritmeticko-logickej operácie obsahuje vo všetkých bitoch binárnu hodnotu nula.



  • neekvivalencia (XOR)

Patrí medzi binárne operácie. Nazýva sa tiež exluzívny súčet, súčet modulo 2, EOR. Pravidlá pre jednobitové operandy sú:

Pre jednobajtové operandy:

Použitie: Inverovanie logickej hodnoty v ľubovolnej pozícii bajtu ( bajtoch) maskou. Napríklad. Vykonaním logického súčtu ľubovolného bytu s maskou, ktorá je reprezentovaná bytom s obsahom

bude výsledok operácie



Posuny a rotácie

Medzi najzákladnejšie operácie ALU patria posuny a rotácie obsahov pamäťových miest. Patria medzi unárne operátory. Operácie sa vykonávajú posúvaním obsahov bitov doľava, alebo doprava, prípadne n-tica pamäťových bitov sa doplní formálne o pomocný bit na (n+1) –ticu ( pomocným bitom bývajú príznakové (stavové) bity CPU, napr. Carry bit)