だから私はそれらの「フラグ」とバイト操作を吸うので、ここにアセンブリコードがあります:
loc_4097F5:
.text:004097F5 cmp [esi+1Bh], dl
.text:004097F8 jnz short loc_409812
.text:004097FA cmp [esi+6], dl
.text:004097FD jnz short loc_409812
.text:004097FF mov ecx, [ebp+490h]
.text:00409805 test cl, 2 ; How to represent this????
.text:00409808 jz short loc_40980F
.text:0040980A test ch, 1 ; How to represent this????
.text:0040980D jz short loc_409812
.text:0040980F loc_40980F:
.text:0040980F mov [esi+25h], dl
.text:00409812 loc_409812:
.text:00409812 mov ecx, [esp+18h+arg_0]
.text:00409816 cmp [ecx+8Ch], eax
逆コンパイラによって生成された疑似コードは次のとおりです。
v13 = a3->field_454.TextureCaps;
if ( !(v13 & 2) || BYTE1(v13) & 1 )
*(_BYTE *)(v5 + 37) = v3;
VC++ 6.0 コンパイラでこれを表現する方法はありますか (このコードはコンパイルされます)??
EDIT : 実際には a3->field_454 は D3DCAPS9 構造です。