проверь разрядность переменной var_8C у меня собирается Код (Text): use32 start: mov eax, [esp+0C0h+var_8C] ret var_8C dd 0
Ясно дело ptr убрал... var_8C = dword -8Ch mov eax, [esp+0C0h+var_8C] как и говорил - value out of range Причем так mov eax, [esp+0C0h-8Ch] - собирается
Это если число не умещается в приёмник. -0х08С = 0хFFFFFF74. 0х0С0 + 0хFFFFFF74 = 0х34, но происходит переволнение. Не пиши dword, тогда var_8C будет занимать 64бита (размер констант по умолчанию) и скомпилируется.
в принципе, если разрядность переменной другая, ее можно перекрыть: mov eax, dword [esp+0C0h+var_8C] ---------- видимо, не из той оперы (спешка
Нда.. Вообще-то, она использует синтаксис тасм. И "компилябельность" листинга никогда не было целью этой софтины.