0

だから私はそれらの「フラグ」とバイト操作を吸うので、ここにアセンブリコードがあります:

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 構造です。

4

1 に答える 1