Blabla1
Zo stránky SensorWiki
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)