Operácie

Blabla1: Rozdiel medzi revíziami

Z SensorWiki

(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...)
 
(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