AND - logický součin dvou operandů

Z Delphi & Pascal (česká wiki)
Verze z 9. 11. 2012, 21:18, kterou vytvořil Zdeno Sekerák (diskuse | příspěvky) (1 revízia: Assembler pismeno D)
(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
AND - logický součin dvou operandů
Časování
2-7 (80286), 2-7 (80386)
Popis
Výsledek obsahuje jedničkově ty bitové pozice, které měly hodnotu 1 u cílového i u zdrojového operandu, jinak jsou pozice nulovaný. Príznaky OF a CF jsou nastavený do 0.


Syntaxe
AND destination, source


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


Nedefinované příznaky
AF


Výjimky v přivilegovaném módu
Je-li výsledek v segmentu neprístupnem zápisu, je generovaná všeobecná výjimka porušení ochrany pameti. Pro nedovolenou efektívni adresu operandu nacházejíci se v registrech CS, DS nebo ES je generována rovnež všeobecná výjimka. Jestliže SS obsahuje nedovolenou adresu, je generována výjimečná situace "chyba zásobniku".


Výjimky v reálnem módu
pro slovní operand s offsetem 0FFFFH je generováno preřušení INT 13.


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


Příklad

Bezprostrední operand do registru

AND  BL,11001110B
AND  EAX,11101011001100110001110000111001B
     (jen pro 80386)


Bezprostrední operand do paměti

AND  EXTMEM,10011100B
AND  NUMBER,0F0F0F0F0H (jen pro 80386)


Bezprostrední operand do stradače

AND  AX,1011100101011100B
AND  AL,MASK_BYTE


Z registru do paměti

AND  EXTMEM,SI


Z registru do registru

AND  AX,BX
AND  EAX,ECX   (jen pro 80386)


Z paměti do registru

AND  DH,EXTBYTE