TEST (instrukce x86) - TEST (x86 instruction)
V x86 assembler, TEST
návod provádí a bitové AND na dva operandy. The vlajky SF
, ZF
, PF
jsou upraveny, zatímco výsledek A je zahozeno. The Z
a CF
příznaky jsou nastaveny na 0
, zatímco AF
vlajka není definována. Existuje 9 různých opcodes pro instrukci TEST v závislosti na typu a velikosti operandy. Může porovnávat 8bitové, 16bitové, 32bitové nebo 64bitové hodnoty. Může to také porovnávat registry, bezprostřední hodnoty a registrovat nepřímo hodnoty.[1]
TEST variace opcode
Operace TEST nastavuje příznaky CF
a Z
na nulu. The SF
je nastaven na nejvýznamnější bit výsledku A. Pokud je výsledek 0
, ZF
je nastaven na 1
, jinak nastaveno na 0
. Příznak parity je nastaven na bitový XNOR z nejméně významný bajt výsledku, 1
pokud je počet jednotek v daném bajtu sudý, 0
v opačném případě. Hodnota AF
není definováno.
Příklady
; Podmíněný skoktest tř,tř ; nastavte ZF na 1, pokud cl == 0je 0x804f430 ; skočit, pokud ZF == 1; Podmíněný skok s NOTtest tř, tř ; nastavte ZF na 1, pokud cl == 0jne 0x804f430 ; skočit, pokud ZF! = 1; nebotest eax, eax ; nastavit SF na 1, pokud eax <0 (negativní)js chyba ; skočit, pokud SF == 1
Reference
- ^ „Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2B: Instruction Set Reference, N-Z“ (PDF). Citováno 2019-12-21.
Tento počítačový hardware článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |
Tento software článek je a pahýl. Wikipedii můžete pomoci pomocí rozšiřovat to. |