Total Articles 180
from : google books ( http://books.google.com > "Scaled-Indexed Addressing Modes" ) #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 } } [Conclusion]
[Download] |