Сейчас на форуме: asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› MASM 6.15 виснет
Посл.ответ Сообщение

Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2010 13:23
· Личное сообщение · #1

Жил я долго с MASM 6.11 и всё было хорошо.
Клал в одну папку файл ML.EXE, исходный файл SUBS.ASM и пакетный файл COMP.BAT с содержимым:

ML /c /coff /Cp subs.asm

Запускал из Fara этот COMP.BAT и благополучно получал файл SUBS.OBJ.

Но наступили черные дни, когда MASM 6.11 перестал понимать некоторые инструкции с регистрами XMM, а файл SUBS.ASM их содержит.
Скачал MASM 6.15, который их уже понимает. При компиляции ошибок не выдает, но в конце работы при попытке создать SUBS.OBJ виснет. Нажимаю CTRL-BREAK, вываливаюсь из пакетного файла и вижу файл SUBS.OBJ нулевого размера. Попробовал на двух компах (на обоих XP SP2), результат один и тот же.
Пробовал менять свойства COMP.BAT, ставил режим совместимости с Windows 95 - не помогает.

Чего делать-то?



Ранг: 38.1 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 27 мая 2010 14:54
· Личное сообщение · #2

тут скачивал https://cracklab.ru/download.php?action=list&n=NjU= ?
Выкладывай исходники.



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 27 мая 2010 16:19
· Личное сообщение · #3

Скачивал отсюда тоже. Но там MASM 6.14.8444, он тоже не понимает некоторых инструкций.
Весь ASM файл выложить не могу - там больше 50000 строк. Получен из IdaPro.
Вот одно из критических мест:

.686p
.xmm
.model flat,C

_text segment para public 'CODE' use32
assume cs:_text
assume es:nothing, ss:nothing, ds:nothing, fs:nothing, gs:nothing

sub_409680 proc near
;...
xorpd xmm0, xmm0 ; строка 10785
;...
retn
sub_409680 endp

_text ends

end

При компиляции MASM 6.14.844 выдает ошибку:

subs.asm(10785) : error A2008: syntax error : xmm

MASM 6.15 такой маленький ASM-код компилирует успешно и создает OBJ.
Но на файле размером 50000 строк он виснет. Вообще, я заметил, что виснуть он начинает на исходниках более примерно 2000 строк (меньшие компилирует успешно). Пробовал я брать более новые версии ML.EXE из недр Visual Studio 2008 и 2010 (эти скачаны с microsoft.com, так что к ним претензий быть не должно). Эти ML.EXE на моем файле тоже благополучно виснут.
А вот MASM 6.11 компилирует успешно. Если конечно в нем закомментировать все эти XMM-инструкции.



Ранг: 255.8 (наставник), 19thx
Активность: 0.150.01
Статус: Участник
vx

Создано: 27 мая 2010 19:12
· Личное сообщение · #4

vorkovich
Какой есчо дос . Пошлите своего тупого профессора нах и установите свежую версию масма.



Ранг: 38.1 (посетитель), 4thx
Активность: 0.030
Статус: Участник

Создано: 28 мая 2010 12:28 · Поправил: nevertime
· Личное сообщение · #5

vorkovich Как долго ждал ? может через пару мин отвис бы?
Проц то при этом грузит?



Ранг: 0.4 (гость)
Активность: 0=0
Статус: Участник

Создано: 29 мая 2010 14:39
· Личное сообщение · #6

Самое смешное, что в самом деле нужно было подождать. Но только долго - аж целых 35 минут.
За это время успел два раза покурить, выпить стакан водки и поприставать к жене.

Проблема оказалась в том, что у меня в области данных объявлены несколько больших массивов:

byte_484AC0 db 100000h dup(?)
word_5C14FC dw 1338BEh dup (?)
ну и еще несколько, но поменьше.

Без этих массивов masm-ы новых версий компилируют без проблем и задержек и создают OBJ размером 560 Кбайт.
Над db 100000h dup(?) задумываются уже 3 минуты, и создают OBJ размером 1,6 Мбайт.
Над dw 1338BEh dup(?) и остальными думают те самые 35 минут, и создают OBJ размером 5 Мбайт.

MASM 6.11 компилирует все эти варианты мгновенно. Почему новые версии MASM стали так себя вести на больших массивах? Руки бы оторвать этим мелкософтам!


 eXeL@B —› Вопросы новичков —› MASM 6.15 виснет
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати