Operácie

Blabla1: Rozdiel medzi revíziami

Zo stránky SensorWiki

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...
 
Balogh (diskusia | príspevky)
Odstránený obsah stránky
 
(57 medziľahlých úprav od jedného ďalšieho používateľa nie je zobrazených)
Riadok 1: Riadok 1:


==  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)

Aktuálna revízia z 10:49, 19. september 2017