XOR - logický exkluzivní součet XOR: Porovnání verzí

Z Delphi & Pascal (česká wiki)
Skočit na navigaci Skočit na vyhledávání
 
Řádek 36: Řádek 36:
 
  XOR AX,MEMORY_WORD
 
  XOR AX,MEMORY_WORD
 
  XOR AH, BL
 
  XOR AH, BL
  XOR OP1, OP1          ; efektni nulovani operand OP1
+
  XOR OP1, OP1          ; efektní nulování operand OP1
 
  XOR TABLE[BX][DI], AX
 
  XOR TABLE[BX][DI], AX
 
  XOR EAX, ECX          ; jen pro 80386
 
  XOR EAX, ECX          ; jen pro 80386

Aktuální verze z 21. 1. 2013, 17:43

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          ; efektní nulování operand OP1
XOR TABLE[BX][DI], AX
XOR EAX, ECX          ; jen pro 80386
XOR EDX, 0CFAD1579H   ; jen pro 80386