#include <iostream>
using namespace std;
int main()
{
static int numbers[90000];
static int result[90000];
int result1;
for (int i = 0; i <= 90000; i++)
{
numbers[i] = i + 1;
}
_asm {
mov ecx, 90000 // счетчик
mov esi, OFFSET numbers // адрес numbers в esi
mov edi, OFFSET result // адрес result в edi
perebor_start :
mov eax, [esi] // записали в eax значение esi
imul eax, eax // int * int в большом регистре не даст переполнения
mov[edi], eax // записали взятый элемент в edi(по адресу)
add esi, 4
add edi, 4
dec ecx // декремент счетчика
jnz perebor_start // jump if not zero в начало цикла
}
cout << "result[0] = " << result[0] << endl; // 1
cout << "result[89999] = " << result[89999] << endl; // 90000
cin >> result1;
}