XOR - logický exkluzivní součet XOR

Z Delphi & Pascal (česká wiki)
Verze z 21. 1. 2013, 17:20, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (Vytvorená stránka „;Instrukce : XOR - logický exkluzivní součet XOR ;Časování : 2-3 (80286), 2-7 (80386) ;Popis : Instrukce XOR srovnáva každý bit zdrojového operandu s cí...“)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání
Instrukce
XOR - logický exkluzivní součet XOR
Časování
2-3 (80286), 2-7 (80386)
Popis
Instrukce XOR srovnáva každý bit zdrojového operandu s cílovým a provádí bitový XOR (nonekvivalence). Výsledek obsahuje nuly na těch bitových pozicích kde má zdrojový i cílový operand buď obě jedničky nebo obě nuly. Jinak je na příslušné bitové pozici jednička.


Syntaxe
XOR destination, source


Ovlivňuje příznaky
OF = 0, CF = 0,SF, ZF, PF


Nedefinované příznaky
AF


Výjimky v privilegovaném módu
Jestliže operand leží v segmentu nepřístupněm zápisu je generovaná všeobecná výjimka porušení ochrany paměti. Jestliže registry CS, DS nebo ES obsahují neplatné efektivní adresy operandu je generovaná všeobecná výjimka ochrany paměti. Jestliže SS obsahuje neplatnou adresu je generovaná výjimka "chyba zásobníku".


Výjimky v reálnem módu
Jestliže je slovní operand umístěn na offsetu 0FFFFH je generováno přerušení INT 13.


Poznámka pro 80386
Šírka slova je 32 bitů.


Příklad
XOR AX,MEMORY_WORD
XOR AH, BL
XOR OP1, OP1          ; efektni nulovani operand OP1
XOR TABLE[BX][DI], AX
XOR EAX, ECX          ; jen pro 80386
XOR EDX, 0CFAD1579H   ; jen pro 80386