#define ITEM_COUNT 100
void main()
{
char var8
[ITEM_COUNT];
short
var16[ITEM_COUNT];
int
var32[ITEM_COUNT];
__int64 var64[ITEM_COUNT];
for (int i = 0; i
< ITEM_COUNT; i++)
var8 [i]
= 0; // mov byte ptr
[ebp+eax-6Ch],0
for (int i = 0; i
< ITEM_COUNT; i++)
var16[i]
= 0; // mov word ptr
[ebp+eax*2-13Ch],0
for (int i = 0; i
< ITEM_COUNT; i++)
var32[i]
= 0; // mov dword ptr [ebp+eax*4-2D4h],0
for (int i = 0; i
< ITEM_COUNT; i++)
var64[i]
= 0; // mov dword ptr [ebp+eax*8-5FCh],0
// mov dword ptr [ebp+eax*8-5F8h],0
}
void scale_test()
{
_asm {
// mov dword ptr [ebp+eax*1-1234h],0 // ok
// mov dword ptr [ebp+eax*2-1234h],0 // ok
// mov dword ptr [ebp+eax*3-1234h],0 // error C2423: '3' : illegal scale
// mov dword ptr [ebp+eax*4-1234h],0 // ok
// mov dword ptr [ebp+eax*8-1234h],0 // ok
// mov dword ptr [ebp+eax*16-1234h],0 // error C2423: '16'
: illegal scale
}
}