Otevřít hlavní menu

Změny

TEST - test logické srovnání

Přidáno 1 214 bajtů, 18. 1. 2013, 16:05
bez shrnutí editace
;Instrukce
: TEST - test logické srovnání

;Časování
: 2-6 (80386), 2-5 (80386)

;Popis
: Instrukce [[TEST]] provádí logické [[AND]] bit-po-bitu nad dvěma operandy. Každý bit výsledku je nastaven do 1 při jedničkových bitech obou srovnávaných operandu jinak je bit výsledku nastaven do 0. Výsledek instrukce není použit jsou jen nastavený odpovídajíci příznaky.


;Syntaxe
: TEST 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 registry [[CS]], [[DS]] nebo [[ES]] obsahují neplatné efektivní adresy operandu je generovaná všeobecná výjimka porušení 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 na offsetu 0FFFFH je generováno přerušení [[INT 13]].


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


;Příklad
TEST AX, BX
TEST EAX, EBX ; jen pro 80386
TEST MEM_BYTE, 6
TEST TABLE[BX][DI], CX
TEST TABLE[BX][DI], ECX ; jen pro 80386

[[Category:Assembler]]
[[Category:Instrukce mikroprocesoru 80386]]