|
Tips IA32(x86)汎用命令一覧 Tから始まる命令 TEST命令
|
IA32(x86)汎用命令一覧
このサイトで挙げる命令は汎用命令の一覧となります
調べたい命令の頭文字をクリックすると、表の下に詳細が表示されます
IA32(x86)汎用命令一覧
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
H
|
I
|
J
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Y
|
Z
|
補足
|
|
Tから始まる命令
クリックすると、表の下に詳細が表示されます
Tから始まる命令一覧
|
命令
|
代表命令の説明
(英語)
|
代表命令の説明
(日本語)
|
TEST
|
Logical Compare
|
AND演算を実行し、結果にしたがってEFLAGSのフラグを設定する
|
TEST命令(Logical Compare)
TEST命令
|
オペコード
|
命令
|
説明
|
0xA8 ib
|
TEST AL, imm8
|
imm8とALとのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0xA9 iw
|
TEST AX, imm16
|
imm16とAXとのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0xA9 id
|
TEST EAX, imm32
|
imm32とEAXとのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0xF6 /0 ib
|
TEST r/m8, imm8
|
imm8とr/m8とのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0xF7 /0 iw
|
TEST r/m16, imm16
|
imm16とr/m16とのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0xF7 /0 id
|
TEST r/m32, imm32
|
imm32とr/m32とのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0x84 /r
|
TEST r/m8, r8
|
r8とr/m8とのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0x85 /r
|
TEST r/m16, r16
|
r16とr/m16とのANDをとり、結果に従ってSF、ZF、PFを設定します
|
0x85 /r
|
TEST r/m32, r32
|
r32とr/m32とのANDをとり、結果に従ってSF、ZF、PFを設定します
|
詳細
第1オペランド(読み込み元1)とら第2オペランド(読み込み元2)との間のビット単位のAND(論理積)演算を
実行し、結果に従ってSF、ZF、PFを設定します。AND演算結果はその後捨てられます
操作
temp = 読み込み元1 & 読み込み元2;
SF = MSB( temp );
if( temp == 0 )
{
ZF = 1;
}
else
{
ZF = 0;
}
PF = BitwiseXNOR( temp );
CF = 0;
OF = 0;
影響のあるEFLAGSレジスタのフラグ
影響のあるEFLAGSレジスタのフラグ
|
フラグ
|
説明
|
ID
|
-
|
VIP
|
-
|
VIF
|
-
|
AC
|
-
|
VM
|
-
|
RF
|
-
|
NT
|
-
|
IOPL
|
-
|
OF
|
0にセットされます
|
DF
|
-
|
IF
|
-
|
TF
|
-
|
SF
|
結果に従って格納されます
|
ZF
|
結果に従って格納されます
|
AF
|
未定義
|
PF
|
結果に従って格納されます
|
CF
|
0にセットされます
|